Injection of HttpSession throws UnsatisfiedResolutionException during the build phase in Quarkus 1.7.x
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.