No here no interface is found otherwise it would be logged. Only javax.ejb
and some technical interfaces are skipped like serializable
Le 22 mai 2015 22:16, "Jean-Louis Monteiro" <[email protected]> a
écrit :

> Hi,
>
> As the error says, make sure your bean implements only one interface.
> Which version are you currently using (openejb I mean)?
>
> Also I've seen this error in the past when running unit tests with some
> coverage tools because they add an extra marker interface.
>
> --
> Jean-Louis Monteiro
> http://twitter.com/jlouismonteiro
> http://www.tomitribe.com
>
> On Fri, May 22, 2015 at 7:14 PM, Renato Pereira Back <
> [email protected]> wrote:
>
> > Hello,
> >
> > I am trying to run some tests with Open EJB and got the following error
> > when running an application with a MDB (EJB 2.0) declared on ejb-jar.xml
> as
> > follows:
> >
> >
> >
> > <message-driven>
> > <display-name>FechamentoMDB</display-name>
> > <ejb-name>FechamentoMDB</ejb-name>
> >
> >
> <ejb-class>br.com.softplan.sider.sip.bens.moveis.contabilidade.fechamento.FechamentoMDB</ejb-class>
> > <transaction-type>Bean</transaction-type>
> > <acknowledge-mode>Auto-acknowledge</acknowledge-mode>
> > <message-driven-destination>
> > <destination-type>javax.jms.Queue</destination-type>
> > </message-driven-destination>
> > </message-driven>
> >
> > Here's the stack trace:
> >
> >
> >
> > 22/05/2015 11:12:17 org.apache.openejb.util.OpenEJBErrorHandler
> > handleUnknownError
> > GRAVE: FATAL ERROR: Unknown error in Assembler. Please send the following
> > stack trace and this message to [email protected] :
> > 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=br.com.softplan.sider.sip.bens.moveis.movimentacoes.movimento.MovimentoMDB
> > interfaces=
> > at
> >
> org.apache.openejb.config.AnnotationDeployer$ProcessAnnotatedBeans.deploy(AnnotationDeployer.java:2603)
> > at
> >
> org.apache.openejb.config.AnnotationDeployer$ProcessAnnotatedBeans.deploy(AnnotationDeployer.java:1726)
> > at
> >
> org.apache.openejb.config.AnnotationDeployer.deploy(AnnotationDeployer.java:344)
> > at
> >
> org.apache.openejb.config.ConfigurationFactory$Chain.deploy(ConfigurationFactory.java:379)
> > at
> >
> org.apache.openejb.config.ConfigurationFactory.configureApplication(ConfigurationFactory.java:884)
> > at
> >
> org.apache.openejb.config.ConfigurationFactory.configureApplication(ConfigurationFactory.java:757)
> > at
> >
> org.apache.openejb.config.ConfigurationFactory.getOpenEjbConfiguration(ConfigurationFactory.java:515)
> > at
> >
> org.apache.openejb.assembler.classic.Assembler.getOpenEjbConfiguration(Assembler.java:373)
> > at
> org.apache.openejb.assembler.classic.Assembler.build(Assembler.java:352)
> > at org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:147)
> > at org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:65)
> > at org.apache.openejb.OpenEJB.init(OpenEJB.java:292)
> > at org.apache.openejb.OpenEJB.init(OpenEJB.java:272)
> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > at
> >
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> > at
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> > at java.lang.reflect.Method.invoke(Method.java:597)
> > at
> org.apache.openejb.loader.OpenEJBInstance.init(OpenEJBInstance.java:36)
> > at
> >
> org.apache.openejb.core.LocalInitialContextFactory.init(LocalInitialContextFactory.java:69)
> > at
> >
> org.apache.openejb.core.LocalInitialContextFactory.init(LocalInitialContextFactory.java:51)
> > at
> >
> org.apache.openejb.core.LocalInitialContextFactory.getInitialContext(LocalInitialContextFactory.java:40)
> > at
> javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
> > at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
> > at javax.naming.InitialContext.init(InitialContext.java:223)
> > at javax.naming.InitialContext.<init>(InitialContext.java:175)
> > at
> >
> br.com.softplan.sider.sip.test.SipEJBCaseTest.getDataSource(SipEJBCaseTest.java:97)
> > at
> >
> br.com.softplan.sider.sip.test.SipEJBCaseTest.runScript(SipEJBCaseTest.java:86)
> > at
> >
> br.com.softplan.sider.sip.test.SipEJBCaseTest.scriptsShutdown(SipEJBCaseTest.java:107)
> > at
> >
> br.com.softplan.sider.sip.test.SipEJBCaseTest.tearDown(SipEJBCaseTest.java:102)
> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > at
> >
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> > at
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> > at java.lang.reflect.Method.invoke(Method.java:597)
> > at
> >
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
> > at
> >
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
> > at
> >
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
> > at
> >
> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:33)
> > at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
> > at
> >
> org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
> > at
> >
> org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
> > at
> >
> org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > at
> >
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> > at
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> > at java.lang.reflect.Method.invoke(Method.java:597)
> > at
> >
> org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
> > at
> >
> org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
> > at
> >
> org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
> > at
> >
> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
> > at
> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)
> >
> > So far, I can add that no Annotations are being used and my MDB extends a
> > class that implements MessageDrivenBean and MessageListener.
> > I tried updating to EJB 2.1 with the following definition:
> >
> >
> >
> > <message-driven>
> > <display-name>FechamentoMDB</display-name>
> > <ejb-name>FechamentoMDB</ejb-name>
> >
> >
> <ejb-class>br.com.softplan.sider.sip.bens.moveis.contabilidade.fechamento.FechamentoMDB</ejb-class>
> > <messaging-type>javax.jms.MessageListener</messaging-type>
> > <transaction-type>Bean</transaction-type>
> > <activation-config>
> > <activation-config-property>
> >
> >
> <activation-config-property-name>acknowledgeMode</activation-config-property-name>
> >
> >
> <activation-config-property-value>AutoAcknowledge</activation-config-property-value>
> > </activation-config-property>
> > <activation-config-property>
> >
> >
> <activation-config-property-name>destinationType</activation-config-property-name>
> >
> >
> <activation-config-property-value>javax.jms.Queue</activation-config-property-value>
> > </activation-config-property>
> > </activation-config>
> > </message-driven>
> >
> > But that went up to no good, as the same error happened.
> >
> > There's no way I can upgrade it to EJB 3, so I was wondering if you could
> > somehow help me.
> >
> > Thanks in advance,
> >
> > RENATO PEREIRA BACK
> > ANALISTA IMPLEMENTADOR
> > UNIDADE DE GESTÃO PÚBLICA
> > Softplan/Poligraph
> > +55 48 3027-8000
> > www.softplan.com.br
> > twitter.com/softplanonline
> >
> >
>

Reply via email to