tomee-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Zog <jogouss...@gmail.com>
Subject Re: Unknown error in Assembler for MessageDriven bean
Date Fri, 03 Oct 2008 13:01:07 GMT

Hi
Unfortunately I cant' post the code - but I solved the issue by just adding
a 
<messaging-type>javax.jms.MessageListener</messaging-type>
in ejb-jar.xml for all my MDBs.
One thing to note though is that my MDBs do not directly imlpement this
interface, they extend a class that does - could it be possible that you're
using Class.getDeclaredClasses() instead of getClasses() to introspect the
class ?
         /jog



Dain Sundstrom wrote:
> 
> Can you post the code for you message driven bean or at the very least  
> the class declaration with any extends clause, implements clause and  
> class annotations?
> 
> My guess is the MDB class is not-spec-compliant and Weblogic has some  
> special logic to guess the proper message listener interface.  Or, we  
> have a bug :)
> 
> -dain
> 
> On Sep 30, 2008, at 10:34 AM, Jacques-Olivier Goussard wrote:
> 
>> Hi,
>>
>> I'm trying to deploy a bunch of MDBs on openejb and encounter this  
>> error:
>>
>> 2008-09-30 15:52:51,328 - ERROR - FATAL ERROR: Unknown error in  
>> Assembler.
>> Plea
>>
>> se send the following stack trace and this message to  
>> user@openejb.org :
>>
>> java.lang.IllegalStateException: When annotating a bean class as
>> @MessageDriven
>>
>> without declaring messageListenerInterface, the bean must implement  
>> exactly
>> one
>>
>> interface, no more and no less.
>> beanClass=com.oz.shared.transcoding.sti.protoco
>>
>> l.ejb.TranscodingProviderMessageListenerBean interfaces=
>>
>>        at
>> org.apache.openejb.config.AnnotationDeployer$ProcessAnnotatedBeans.de
>>
>> ploy(AnnotationDeployer.java:854)
>>
>> (see full stack below)
>>
>> Those EJB were deployed successfully in weblogic, and I didn't yet  
>> properly
>> create the corresponding
>>
>> Deployment descriptors for openejb – but this error seems an  
>> internal one
>> and given
>>
>> My EJB are 2.0 (no annotations), I find it strange it complains  
>> about this
>> annotation.
>>
>> Any ideas someone ?
>>
>>           /jog
>>
>>
>>
>> 2008-09-30 15:52:51,328 - ERROR - FATAL ERROR: Unknown error in  
>> Assembler.
>> Plea
>>
>> se send the following stack trace and this message to  
>> user@openejb.org :
>>
>> java.lang.IllegalStateException: When annotating a bean class as
>> @MessageDriven
>>
>> without declaring messageListenerInterface, the bean must implement  
>> exactly
>> one
>>
>> interface, no more and no less.
>> beanClass=com.oz.shared.transcoding.sti.protoco
>>
>> l.ejb.TranscodingProviderMessageListenerBean interfaces=
>>
>>        at
>> org.apache.openejb.config.AnnotationDeployer$ProcessAnnotatedBeans.de
>>
>> ploy(AnnotationDeployer.java:854)
>>
>>        at
>> org.apache.openejb.config.AnnotationDeployer$ProcessAnnotatedBeans.de
>>
>> ploy(AnnotationDeployer.java:489)
>>
>>        at
>> org.apache.openejb.config.AnnotationDeployer.deploy(AnnotationDeploye
>>
>> r.java:169)
>>
>>        at
>> org.apache.openejb.config.ConfigurationFactory$Chain.deploy(Configura
>>
>> tionFactory.java:148)
>>
>>        at
>> org.apache.openejb.config.ConfigurationFactory.configureApplication(C
>>
>> onfigurationFactory.java:440)
>>
>>        at
>> org.apache.openejb.config.ConfigurationFactory.configureApplication(C
>>
>> onfigurationFactory.java:391)
>>
>>        at
>> org.apache.openejb.config.ConfigurationFactory.getOpenEjbConfiguratio
>>
>> n(ConfigurationFactory.java:309)
>>
>>        at
>> org.apache.openejb.assembler.classic.Assembler.build(Assembler.java:2
>>
>> 49)
>>
>>        at org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:149)
>>
>>        at org.apache.openejb.OpenEJB.init(OpenEJB.java:288)
>>
>>        at org.apache.openejb.server.Server.init(Server.java:63)
>>
>>        at org.apache.openejb.server.Main.initServer(Main.java:155)
>>
>>        at org.apache.openejb.server.Main.main(Main.java:128)
>>
>>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>
>>        at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
>>
>> java:39)
>>
>>        at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
>>
>> sorImpl.java:25)
>>
>>        at java.lang.reflect.Method.invoke(Method.java:585)
>>
>>        at org.apache.openejb.cli.MainImpl.main(MainImpl.java:151)
>>
>>        at org.apache.openejb.cli.Bootstrap.main(Bootstrap.java:103)
>>
>>
>>
>> 2008-09-30 15:52:51,331 - FATAL - OpenEJB has encountered a fatal  
>> error and
>> cann
>>
>> ot be started: Assembler failed to build the container system.
>>
>> org.apache.openejb.OpenEJBException:  
>> java.lang.IllegalStateException: When
>> annot
>>
>> ating a bean class as @MessageDriven without declaring
>> messageListenerInterface,
>>
>> the bean must implement exactly one interface, no more and no less.
>> beanClass=c
>>
>> om 
>> .oz 
>> .shared 
>> .transcoding.sti.protocol.ejb.TranscodingProviderMessageListenerBean
>>
>> interfaces=: When annotating a bean class as @MessageDriven without
>> declaring m
>>
>> essageListenerInterface, the bean must implement exactly one  
>> interface, no
>> more
>>
>> and no less.
>> beanClass=com.oz.shared.transcoding.sti.protocol.ejb.TranscodingPro
>>
>> viderMessageListenerBean interfaces=
>>
>>        at
>> org.apache.openejb.assembler.classic.Assembler.build(Assembler.java:2
>>
>> 63)
>>
>>        at org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:149)
>>
>>        at org.apache.openejb.OpenEJB.init(OpenEJB.java:288)
>>
>>        at org.apache.openejb.server.Server.init(Server.java:63)
>>
>>        at org.apache.openejb.server.Main.initServer(Main.java:155)
>>
>>        at org.apache.openejb.server.Main.main(Main.java:128)
>>
>>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>
>>        at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
>>
>> java:39)
>>
>>        at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
>>
>> sorImpl.java:25)
>>
>>        at java.lang.reflect.Method.invoke(Method.java:585)
>>
>>        at org.apache.openejb.cli.MainImpl.main(MainImpl.java:151)
>>
>>        at org.apache.openejb.cli.Bootstrap.main(Bootstrap.java:103)
>>
>> Caused by: java.lang.IllegalStateException: When annotating a bean  
>> class as
>> @Mes
>>
>> sageDriven without declaring messageListenerInterface, the bean must
>> implement e
>>
>> xactly one interface, no more and no less.
>> beanClass=com.oz.shared.transcoding.s
>>
>> ti.protocol.ejb.TranscodingProviderMessageListenerBean interfaces=
>>
>>        at
>> org.apache.openejb.config.AnnotationDeployer$ProcessAnnotatedBeans.de
>>
>> ploy(AnnotationDeployer.java:854)
>>
>>        at
>> org.apache.openejb.config.AnnotationDeployer$ProcessAnnotatedBeans.de
>>
>> ploy(AnnotationDeployer.java:489)
>>
>>        at
>> org.apache.openejb.config.AnnotationDeployer.deploy(AnnotationDeploye
>>
>> r.java:169)
>>
>>        at
>> org.apache.openejb.config.ConfigurationFactory$Chain.deploy(Configura
>>
>> tionFactory.java:148)
>>
>>        at
>> org.apache.openejb.config.ConfigurationFactory.configureApplication(C
>>
>> onfigurationFactory.java:440)
>>
>>        at
>> org.apache.openejb.config.ConfigurationFactory.configureApplication(C
>>
>> onfigurationFactory.java:391)
>>
>>        at
>> org.apache.openejb.config.ConfigurationFactory.getOpenEjbConfiguratio
>>
>> n(ConfigurationFactory.java:309)
>>
>>        at
>> org.apache.openejb.assembler.classic.Assembler.build(Assembler.java:2
>>
>> 49)
>>
>>        ... 11 more
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Unknown-error-in-Assembler-for-MessageDriven-bean-tp19747907p19797287.html
Sent from the OpenEJB User mailing list archive at Nabble.com.


Mime
View raw message