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