PS: it works on coming 1.7.2-SNAPSHOT

Romain Manni-Bucau
@rmannibucau
http://www.tomitribe.com
http://rmannibucau.wordpress.com
https://github.com/rmannibucau


2014-12-05 21:44 GMT+01:00 Romain Manni-Bucau <[email protected]>:
> Sorry misread the listener api you were using. Do you have a ready to run
> sample we can use to reproduce?
>
> Le 5 déc. 2014 20:37, "Lars-Fredrik Smedberg" <[email protected]> a écrit :
>
>> Hi Romain
>>
>> What should I not do during the boot of the container?
>>
>> The @RequestScoped bean injecting the extension is not until it receives
>> an
>> event triggered by a client request
>>
>> Regards
>> Lars-Fredrik
>> On Dec 5, 2014 3:45 PM, "Romain Manni-Bucau" <[email protected]>
>> wrote:
>>
>> > you shouldn't do it during the boot of the container. I guess that's
>> > the issue. What I don't get is why it doesn't fail more abruptally.
>> >
>> >
>> > Romain Manni-Bucau
>> > @rmannibucau
>> > http://www.tomitribe.com
>> > http://rmannibucau.wordpress.com
>> > https://github.com/rmannibucau
>> >
>> >
>> > 2014-12-05 15:40 GMT+01:00 Lars-Fredrik Smedberg <[email protected]>:
>> > > Romain, what I tried in my little tests was:
>> > >
>> > > - A class implementing ServletRequestListener that in
>> > > requestInitialized(...) fires a CDI event.
>> > > - Another class (@RequestScoped) consumes the event...
>> > >
>> > > Without any injection of the CDI Extension all work fine
>> > >
>> > > - I added a CDI Extension and when debugging I can see that the
>> > > extension
>> > > can observe the events postsed during startup.
>> > > - When I in the the @RequestScoped class that consumes the events
>> > > @Inject
>> > > the extension I get an error and a stack trace (at the bottom of the
>> > mail):
>> > >
>> > > If I only add the CDI Extension but not inject it in any bean I can
>> > > see
>> > > that it (amongst other events) observes an AfterDeploymentValidation
>> > event.
>> > >
>> > > When injecting the CDI Extension to the bean mentioned above I not
>> > receive
>> > > the AfterDeploymentValidation event, the error happens before (the
>> > > extension observes BeforeBeanDiscovery, ProcessAnnotatedType and
>> > > AfterDeploymentValidation).
>> > >
>> > > Any ideas of what might be wrong?
>> > >
>> > > Regards
>> > > LF
>> > >
>> > > ----------------------
>> > >
>> > > SEVERE: CDI Beans module deployment failed
>> > > org.apache.webbeans.exception.inject.DeploymentException:
>> > > javax.enterprise.inject.UnsatisfiedResolutionException: Api type
>> > > [test.JAXBContextExtension] is not found with the qualifiers
>> > > Qualifiers: [@javax.enterprise.inject.Default()]
>> > > for injection into Field Injection Point, field name :
>> > >  jaxbContextExtension, Bean Owner : [ServiceRequestConsumer,
>> > > Name:null,
>> > > WebBeans Type:MANAGED, API
>> > > Types:[java.lang.Object,test.ServiceRequestConsumer],
>> > >
>> > > Qualifiers:[javax.enterprise.inject.Any,javax.enterprise.inject.Default]]
>> > > at
>> > org.apache.webbeans.config.BeansDeployer.deploy(BeansDeployer.java:215)
>> > > at
>> > >
>> >
>> > org.apache.openejb.cdi.OpenEJBLifecycle.startApplication(OpenEJBLifecycle.java:194)
>> > > at
>> > >
>> >
>> > org.apache.openejb.cdi.ThreadSingletonServiceImpl.initialize(ThreadSingletonServiceImpl.java:160)
>> > > at org.apache.openejb.cdi.CdiBuilder.build(CdiBuilder.java:41)
>> > > at
>> > >
>> >
>> > org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:797)
>> > > at
>> > >
>> >
>> > org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:623)
>> > > at
>> > >
>> >
>> > org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1248)
>> > > at
>> > >
>> >
>> > org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:1087)
>> > > at
>> > >
>> >
>> > org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:130)
>> > > at
>> > >
>> >
>> > org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
>> > > at
>> > >
>> >
>> > org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
>> > > at
>> > >
>> >
>> > org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5378)
>> > > at
>> > > org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
>> > > at
>> > >
>> >
>> > org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
>> > > at
>> > org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
>> > > at
>> > > org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649)
>> > > at
>> > >
>> >
>> > org.apache.tomee.catalina.TomcatWebAppBuilder.deployWar(TomcatWebAppBuilder.java:648)
>> > > at
>> > >
>> >
>> > org.apache.tomee.catalina.TomcatWebAppBuilder.deployWebApps(TomcatWebAppBuilder.java:618)
>> > > at
>> > >
>> >
>> > org.apache.tomee.catalina.deployment.TomcatWebappDeployer.deploy(TomcatWebappDeployer.java:43)
>> > > at
>> > > org.apache.openejb.assembler.DeployerEjb.deploy(DeployerEjb.java:175)
>> > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> > > at
>> > >
>> >
>> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> > > at
>> > >
>> >
>> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> > > at java.lang.reflect.Method.invoke(Method.java:601)
>> > > at
>> > >
>> >
>> > org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:192)
>> > > at
>> > >
>> >
>> > org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:173)
>> > > at
>> > >
>> >
>> > org.apache.openejb.security.internal.InternalSecurityInterceptor.invoke(InternalSecurityInterceptor.java:35)
>> > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> > > at
>> > >
>> >
>> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> > > at
>> > >
>> >
>> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> > > at java.lang.reflect.Method.invoke(Method.java:601)
>> > > at
>> > >
>> >
>> > org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:192)
>> > > at
>> > >
>> >
>> > org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:173)
>> > > at
>> > >
>> >
>> > org.apache.openejb.monitoring.StatsInterceptor.record(StatsInterceptor.java:181)
>> > > at
>> > >
>> >
>> > org.apache.openejb.monitoring.StatsInterceptor.invoke(StatsInterceptor.java:100)
>> > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> > > at
>> > >
>> >
>> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> > > at
>> > >
>> >
>> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> > > at java.lang.reflect.Method.invoke(Method.java:601)
>> > > at
>> > >
>> >
>> > org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:192)
>> > > at
>> > >
>> >
>> > org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:173)
>> > > at
>> > >
>> >
>> > org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:85)
>> > > at
>> > >
>> >
>> > org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:227)
>> > > at
>> > >
>> >
>> > org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:194)
>> > > at
>> > >
>> >
>> > org.apache.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:370)
>> > > at
>> > >
>> >
>> > org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java:181)
>> > > at
>> > >
>> >
>> > org.apache.openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:344)
>> > > at
>> > > org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:240)
>> > > at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:86)
>> > > at
>> > >
>> >
>> > org.apache.openejb.server.httpd.ServerServlet.service(ServerServlet.java:58)
>> > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
>> > > at
>> > >
>> >
>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
>> > > at
>> > >
>> >
>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>> > > at
>> > >
>> >
>> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
>> > > at
>> > >
>> >
>> > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
>> > > at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:44)
>> > > at
>> > >
>> >
>> > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>> > > at
>> > >
>> >
>> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
>> > > at
>> >
>> > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
>> > > at
>> > >
>> >
>> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
>> > > at
>> > >
>> >
>> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>> > > at
>> > >
>> >
>> > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
>> > > at
>> > >
>> >
>> > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
>> > > at
>> > >
>> >
>> > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
>> > > at
>> > >
>> >
>> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>> > > at
>> > >
>> >
>> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>> > > at
>> > >
>> >
>> > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>> > > at java.lang.Thread.run(Thread.java:722)
>> > > Caused by: javax.enterprise.inject.UnsatisfiedResolutionException: Api
>> > type
>> > > [test.JAXBContextExtension] is not found with the qualifiers
>> > > Qualifiers: [@javax.enterprise.inject.Default()]
>> > > for injection into Field Injection Point, field name :
>> > >  jaxbContextExtension, Bean Owner : [ServiceRequestConsumer,
>> > > Name:null,
>> > > WebBeans Type:MANAGED, API
>> > > Types:[java.lang.Object,test.ServiceRequestConsumer],
>> > >
>> > > Qualifiers:[javax.enterprise.inject.Any,javax.enterprise.inject.Default]]
>> > > at
>> > >
>> >
>> > org.apache.webbeans.util.InjectionExceptionUtil.throwUnsatisfiedResolutionException(InjectionExceptionUtil.java:60)
>> > > at
>> > >
>> >
>> > org.apache.webbeans.container.InjectionResolver.checkInjectionPoint(InjectionResolver.java:195)
>> > > at
>> > >
>> >
>> > org.apache.webbeans.container.BeanManagerImpl.validate(BeanManagerImpl.java:955)
>> > > at
>> >
>> > org.apache.webbeans.config.BeansDeployer.validate(BeansDeployer.java:491)
>> > > at
>> > >
>> >
>> > org.apache.webbeans.config.BeansDeployer.validateInjectionPoints(BeansDeployer.java:422)
>> > > at
>> > org.apache.webbeans.config.BeansDeployer.deploy(BeansDeployer.java:202)
>> > > ... 67 more
>> > >
>> > >
>> > > On Fri, Dec 5, 2014 at 2:24 PM, Romain Manni-Bucau <
>> > [email protected]>
>> > > wrote:
>> > >
>> > >> Hi
>> > >>
>> > >> seems ok yes
>> > >>
>> > >>
>> > >> Romain Manni-Bucau
>> > >> @rmannibucau
>> > >> http://www.tomitribe.com
>> > >> http://rmannibucau.wordpress.com
>> > >> https://github.com/rmannibucau
>> > >>
>> > >>
>> > >> 2014-12-05 14:15 GMT+01:00 Lars-Fredrik Smedberg
>> > >> <[email protected]>:
>> > >> > Hi
>> > >> >
>> > >> > I'm running TomEE Plus 1.7.1 and I try to inject a CDI extension in
>> > >> > a
>> > >> > @RequestScoped bean but I get an error saying that no bean with
>> > @Default
>> > >> is
>> > >> > available for injection.
>> > >> >
>> > >> > Is this the right way of getting data  collected in the extension
>> > >> available
>> > >> > to the application?
>> > >> >
>> > >> > Regards
>> > >> > Lars-Fredrik
>> > >>
>> > >
>> > >
>> > >
>> > > --
>> > > Med vänlig hälsning / Best regards
>> > >
>> > > Lars-Fredrik Smedberg
>> > >
>> > > STATEMENT OF CONFIDENTIALITY:
>> > > The information contained in this electronic message and any
>> > > attachments to this message are intended for the exclusive use of the
>> > > address(es) and may contain confidential or privileged information. If
>> > > you are not the intended recipient, please notify Lars-Fredrik
>> > > Smedberg
>> > > immediately at [email protected], and destroy all copies of this
>> > > message and any attachments.
>> >

Reply via email to