Bug 1377705 - [GSS](6.4.z) EJB injection with indirection via web.xml fail
Summary: [GSS](6.4.z) EJB injection with indirection via web.xml fail
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: JBoss Enterprise Application Platform 6
Classification: JBoss
Component: EJB
Version: 6.3.3
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: CR1
: EAP 6.4.13
Assignee: Petr Jurak
QA Contact: Jan Martiska
URL:
Whiteboard:
Depends On:
Blocks: eap6413-payload
TreeView+ depends on / blocked
 
Reported: 2016-09-20 12:18 UTC by wfink
Modified: 2019-12-16 06:50 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-02-03 16:45:32 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker JBEAP-6086 0 Major Verified EJB injection with indirection via web.xml is ignored 2017-05-31 13:22:24 UTC
Red Hat Issue Tracker JBEAP-6312 0 Major Verified Injection with @EJB is not working as expected with CDI (REST) beans 2017-05-31 13:22:24 UTC
Red Hat Issue Tracker JBEAP-7091 0 Major Verified [GSS](7.0.z) EJB injection with indirection via web.xml is ignored 2017-05-31 13:22:24 UTC
Red Hat Issue Tracker WFLY-7140 0 Major Resolved Injection with @EJB is not working as expected with CDI (REST) beans 2017-05-31 13:22:24 UTC
Red Hat Issue Tracker WFLY-7150 0 Major Resolved EJB injection with indirection via web.xml is ignored 2017-05-31 13:22:24 UTC

Description wfink 2016-09-20 12:18:54 UTC
Description of problem:
If a @EJB injection inside a Servlet is used with indirection via web.xml/jboss-web.xml it works like expected.

But a similar REST service as CDI Bean will fail at runtime. It works correct if @Stateless is added to the CDI bean to make it a EJB.


Reproducer can be found here:
git:wfink/jboss-eap-quickstarts.git
BRANCH: 6.4.x_ejb-multi-server_reproducerEJB-injection2
SubProject: ejb-multi-server (used only a part of it to have a web-app and a ejb-app)
see ejb-multi-server/README-reproducerEJB-injection




ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/jboss-ejb-multi-server-app-web].[javax.ws.rs.core.Application]] (http-127.0.0.1:8080-1) JBWEB000236: Servlet.service() for servlet javax.ws.rs.core.Application threw exception: org.jboss.resteasy.spi.UnhandledException: org.jboss.msc.service.ServiceNotFoundException: Service service jboss.naming.context.java.comp.jboss-ejb-multi-server-app-web.jboss-ejb-multi-server-app-web.jboss-ejb-multi-server-app-web.env.AppOneBean not found
	at org.jboss.resteasy.core.SynchronousDispatcher.handleApplicationException(SynchronousDispatcher.java:367) [resteasy-jaxrs-2.3.13.Final-redhat-1.jar:]
	at org.jboss.resteasy.core.SynchronousDispatcher.handleException(SynchronousDispatcher.java:235) [resteasy-jaxrs-2.3.13.Final-redhat-1.jar:]
	at org.jboss.resteasy.core.SynchronousDispatcher.handleInvokerException(SynchronousDispatcher.java:211) [resteasy-jaxrs-2.3.13.Final-redhat-1.jar:]
	at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:576) [resteasy-jaxrs-2.3.13.Final-redhat-1.jar:]
	at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:543) [resteasy-jaxrs-2.3.13.Final-redhat-1.jar:]
	at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:128) [resteasy-jaxrs-2.3.13.Final-redhat-1.jar:]
	at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208) [resteasy-jaxrs-2.3.13.Final-redhat-1.jar:]
	at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55) [resteasy-jaxrs-2.3.13.Final-redhat-1.jar:]
	at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50) [resteasy-jaxrs-2.3.13.Final-redhat-1.jar:]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-2.jar:1.0.2.Final-redhat-2]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) [jbossweb-7.5.16.Final-redhat-1.jar:7.5.16.Final-redhat-1]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.5.16.Final-redhat-1.jar:7.5.16.Final-redhat-1]
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:231) [jbossweb-7.5.16.Final-redhat-1.jar:7.5.16.Final-redhat-1]
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) [jbossweb-7.5.16.Final-redhat-1.jar:7.5.16.Final-redhat-1]
	at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) [jboss-as-web-7.5.8.Final-redhat-2.jar:7.5.8.Final-redhat-2]
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:150) [jbossweb-7.5.16.Final-redhat-1.jar:7.5.16.Final-redhat-1]
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.5.16.Final-redhat-1.jar:7.5.16.Final-redhat-1]
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.5.16.Final-redhat-1.jar:7.5.16.Final-redhat-1]
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) [jbossweb-7.5.16.Final-redhat-1.jar:7.5.16.Final-redhat-1]
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:854) [jbossweb-7.5.16.Final-redhat-1.jar:7.5.16.Final-redhat-1]
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654) [jbossweb-7.5.16.Final-redhat-1.jar:7.5.16.Final-redhat-1]
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:926) [jbossweb-7.5.16.Final-redhat-1.jar:7.5.16.Final-redhat-1]
	at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_102]
Caused by: org.jboss.msc.service.ServiceNotFoundException: Service service jboss.naming.context.java.comp.jboss-ejb-multi-server-app-web.jboss-ejb-multi-server-app-web.jboss-ejb-multi-server-app-web.env.AppOneBean not found
	at org.jboss.msc.service.ServiceContainerImpl.getRequiredService(ServiceContainerImpl.java:625)
	at org.jboss.as.weld.services.bootstrap.WeldEjbInjectionServices.resolveEjb(WeldEjbInjectionServices.java:92) [jboss-as-weld-7.5.8.Final-redhat-2.jar:7.5.8.Final-redhat-2]
	at org.jboss.weld.util.Beans.injectEEFields(Beans.java:714) [weld-core-1.1.33.Final-redhat-1.jar:1.1.33.Final-redhat-1]
	at org.jboss.weld.bean.ManagedBean$ManagedBeanInjectionTarget$1$1.proceed(ManagedBean.java:164) [weld-core-1.1.33.Final-redhat-1.jar:1.1.33.Final-redhat-1]
	at org.jboss.weld.injection.InjectionContextImpl.run(InjectionContextImpl.java:48) [weld-core-1.1.33.Final-redhat-1.jar:1.1.33.Final-redhat-1]
	at org.jboss.weld.bean.ManagedBean$ManagedBeanInjectionTarget$1.work(ManagedBean.java:161) [weld-core-1.1.33.Final-redhat-1.jar:1.1.33.Final-redhat-1]
	at org.jboss.weld.bean.ManagedBean$FixInjectionPoint.run(ManagedBean.java:135) [weld-core-1.1.33.Final-redhat-1.jar:1.1.33.Final-redhat-1]
	at org.jboss.weld.bean.ManagedBean$ManagedBeanInjectionTarget.inject(ManagedBean.java:157) [weld-core-1.1.33.Final-redhat-1.jar:1.1.33.Final-redhat-1]
	at org.jboss.resteasy.cdi.JaxrsInjectionTarget.inject(JaxrsInjectionTarget.java:36) [resteasy-cdi-2.3.13.Final-redhat-1.jar:]
	at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:297) [weld-core-1.1.33.Final-redhat-1.jar:1.1.33.Final-redhat-1]
	at org.jboss.weld.context.AbstractContext.get(AbstractContext.java:104) [weld-core-1.1.33.Final-redhat-1.jar:1.1.33.Final-redhat-1]
	at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:90) [weld-core-1.1.33.Final-redhat-1.jar:1.1.33.Final-redhat-1]
	at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:79) [weld-core-1.1.33.Final-redhat-1.jar:1.1.33.Final-redhat-1]
	at org.jboss.as.quickstarts.web.multi.server.app.RestService$Proxy$_$$_WeldClientProxy.getResultXML(RestService$Proxy$_$$_WeldClientProxy.java) [classes:]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0_102]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [rt.jar:1.8.0_102]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_102]
	at java.lang.reflect.Method.invoke(Method.java:498) [rt.jar:1.8.0_102]
	at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:168) [resteasy-jaxrs-2.3.13.Final-redhat-1.jar:]
	at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:269) [resteasy-jaxrs-2.3.13.Final-redhat-1.jar:]
	at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:227) [resteasy-jaxrs-2.3.13.Final-redhat-1.jar:]
	at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:216) [resteasy-jaxrs-2.3.13.Final-redhat-1.jar:]
	at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:561) [resteasy-jaxrs-2.3.13.Final-redhat-1.jar:]
	... 19 more


Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 5 Jiří Bílek 2017-01-02 09:31:10 UTC
Thank you for reproducer.

Verified with EAP 6.4.13.CP.CR1

Comment 6 Petr Penicka 2017-02-03 16:45:32 UTC
Released with EAP 6.4.13 on Feb 02 2017.


Note You need to log in before you can comment on or make changes to this bug.