Injection of HttpSession throws UnsatisfiedResolutionException during the build phase in Quarkus 1.7.x

Solution Verified - Updated -

Issue

When javax.servlet.http.HttpSession is injected like the following code in Quarkus applicaiton:

@Path("/hello")
public class GreetingResource {

    @Inject
    public HttpSession session;

    @GET
    @Produces(MediaType.TEXT_PLAIN)
    public String hello() {
        System.out.println("# session.getId()=" + session.getId());
        return "hello";
    }
}

the following javax.enterprise.inject.UnsatisfiedResolutionException happens during the build phase:

[ERROR] Failed to execute goal io.quarkus:quarkus-maven-plugin:1.7.5.Final-redhat-00011:build (default) on project getting-started: Failed to build quarkus application: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
[ERROR]     [error]: Build step io.quarkus.arc.deployment.ArcProcessor#validate threw an exception: javax.enterprise.inject.spi.DeploymentException: javax.enterprise.inject.UnsatisfiedResolutionException: Unsatisfied dependency for type javax.servlet.http.HttpSession and qualifiers [@Default]
[ERROR]     - java member: org.acme.quickstart.GreetingResource#session
[ERROR]     - declared on CLASS bean [types=[org.acme.quickstart.GreetingResource, java.lang.Object], qualifiers=[@Default, @Any], target=org.acme.quickstart.GreetingResource]
[ERROR]     at io.quarkus.arc.processor.BeanDeployment.processErrors(BeanDeployment.java:990)
[ERROR]     at io.quarkus.arc.processor.BeanDeployment.init(BeanDeployment.java:234)
[ERROR]     at io.quarkus.arc.processor.BeanProcessor.initialize(BeanProcessor.java:122)
[ERROR]     at io.quarkus.arc.deployment.ArcProcessor.validate(ArcProcessor.java:391)
[ERROR]     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[ERROR]     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[ERROR]     at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[ERROR]     at java.base/java.lang.reflect.Method.invoke(Method.java:566)
[ERROR]     at io.quarkus.deployment.ExtensionLoader$2.execute(ExtensionLoader.java:932)
[ERROR]     at io.quarkus.builder.BuildContext.run(BuildContext.java:277)
[ERROR]     at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
[ERROR]     at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:2046)
[ERROR]     at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1578)
[ERROR]     at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1452)
[ERROR]     at java.base/java.lang.Thread.run(Thread.java:834)
[ERROR]     at org.jboss.threads.JBossThread.run(JBossThread.java:479)
[ERROR] Caused by: javax.enterprise.inject.UnsatisfiedResolutionException: Unsatisfied dependency for type javax.servlet.http.HttpSession and qualifiers [@Default]
[ERROR]     - java member: org.acme.quickstart.GreetingResource#session
[ERROR]     - declared on CLASS bean [types=[org.acme.quickstart.GreetingResource, java.lang.Object], qualifiers=[@Default, @Any], target=org.acme.quickstart.GreetingResource]
[ERROR]     at io.quarkus.arc.processor.Beans.resolveInjectionPoint(Beans.java:494)
[ERROR]     at io.quarkus.arc.processor.BeanInfo.init(BeanInfo.java:362)
[ERROR]     at io.quarkus.arc.processor.BeanDeployment.init(BeanDeployment.java:226)
[ERROR]     ... 14 more
[ERROR] -> [Help 1]

Environment

  • Red Hat Build of Quarkus (RHBQ)
    • 1.7.x

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content