Hi

try to remove @Inject from the producer method
Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau



2014-02-12 15:44 GMT+01:00 Rene Perschon <[email protected]>:
> Hi!
>
> I'm currently migrating an application from glassfish to TomEE. During the 
> deployment however i get this error message and the deployment fails:
>
> CDI Beans module deployment failed
> org.apache.webbeans.exception.inject.DeploymentException: 
> org.apache.webbeans.exception.WebBeansConfigurationException: Producer 
> annotated method : Annotated Method 'produceBookingRequestBuilder', Base Type 
> : class de.itso.mdbp.service.BookingRequestBuilder,Type Closures : 
> null,Annotations : [@javax.inject.Inject(), 
> @de.itso.mdbp.web.qualifier.BookingRequestBuilderInConversation(), 
> @javax.enterprise.context.ConversationScoped(), 
> @javax.enterprise.inject.Produces()],Java Member Name : 
> produceBookingRequestBuilder,Annotated Parameters : [Annotated Parameter,Base 
> Type : interface javax.enterprise.context.Conversation,Type Closures : 
> null,Annotations : [],Position : 0] can not be annotated with 
> @Initializer/@Destructor annotation or has a parameter annotated with 
> @Disposes/@Observes
> at org.apache.webbeans.config.BeansDeployer.deploy(BeansDeployer.java:226)
> at 
> org.apache.openejb.cdi.OpenEJBLifecycle.startApplication(OpenEJBLifecycle.java:187)
> at 
> org.apache.openejb.cdi.ThreadSingletonServiceImpl.initialize(ThreadSingletonServiceImpl.java:162)
> at org.apache.openejb.cdi.CdiBuilder.build(CdiBuilder.java:43)
> at 
> org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:799)
> at 
> org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:612)
> at 
> org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1205)
> at 
> org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:1051)
> at 
> org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:127)
> at 
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
> at 
> org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
> at 
> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5322)
> 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:633)
> at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:983)
> at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1660)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:744)
>
> The producer looks like this:
>
> @Produces
> @ConversationScoped
> @BookingRequestBuilderInConversation
> @Inject
> public static final BookingRequestBuilder 
> produceBookingRequestBuilder(Conversation conversation)
> {
> if (conversation.isTransient())
> {
> conversation.begin();
> }
> BookingRequestBuilder brb = null;
> try
> {
> brb = (BookingRequestBuilder) LookupUtil.lookup("BookingRequestBuilder");
> }
> catch (NamingException e)
> {
> Logger.getLogger(UserDetailsProducer.class).error("Cannot obtain a handle to 
> the BookingRequestBuilder!", e);
> return null;
> }
> return brb;
> }
>
> And the additional qualifier looks like this:
>
> @Qualifier
> @Target({ TYPE, METHOD, PARAMETER, FIELD })
> @Retention(RUNTIME)
> @Documented
> public @interface BookingRequestBuilderInConversation
> {
> }
>
> Now I can't find the issue here, what's wrong with that? It did deploy to 
> glassfish all right (i think glassfish uses weld?). Can anybody help me here?
>
> Thanks in advance!
> René

Reply via email to