/*no annotations, EJB2 style*/
public class MDBSecurityFeed implements MessageDrivenBean, MessageListener,
Loggable {
*****
}
<weblogic-enterprise-bean>
<ejb-name>MDBFDRSecurityFeed</ejb-name>
<message-driven-descriptor>
<pool>
<max-beans-in-free-pool>1</max-beans-in-free-pool>
<initial-beans-in-free-pool>0</initial-beans-in-free-pool>
</pool>
<destination-jndi-name>****************</destination-jndi-name>
<connection-factory-jndi-name>**************</connection-factory-jndi-name>
</message-driven-descriptor>
<transaction-descriptor>
<trans-timeout-seconds>600</trans-timeout-seconds>
</transaction-descriptor>
<jndi-name>***********/MDBSecurityFeed</jndi-name>
</weblogic-enterprise-bean>
FATAL - OpenEJB has encountered a fatal error and cannot be started: Assembler
failed to build the container system.
org.apache.openejb.OpenEJBException: 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=************************.MDBSecurityFeed
interfaces=javax.jms.MessageListener, *******************.Loggable, : When
annotating a bean class as @MessageDriven without declaring
messageListenerInterface, the bean must implement exactly one interface, no
more and no less. beanClass=***********************.MDBSecurityFeed
interfaces=javax.jms.MessageListener, ***************.Loggable,
at
org.apache.openejb.assembler.classic.Assembler.build(Assembler.java:293)
at org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:125)
at org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:60)
at org.apache.openejb.OpenEJB.init(OpenEJB.java:271)
at org.apache.openejb.OpenEJB.init(OpenEJB.java:250)
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.client.LocalInitialContextFactory.init(LocalInitialContextFactory.java:71)
at
org.apache.openejb.client.LocalInitialContextFactory.init(LocalInitialContextFactory.java:53)
at
org.apache.openejb.client.LocalInitialContextFactory.getInitialContext(LocalInitialContextFactory.java:42)
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:197)
at
************************.TestApplicationServer.setUpClass(TestApplicationServer.java:34)
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:44)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27)
at
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.ParentRunner.run(ParentRunner.java:220)
at
com.intellij.rt.junit4.Junit4ClassSuite.run(Junit4ClassSuite.java:99)
at junit.textui.TestRunner.doRun(TestRunner.java:116)
at
com.intellij.rt.execution.junit.IdeaTestRunner.doRun(IdeaTestRunner.java:94)
at junit.textui.TestRunner.doRun(TestRunner.java:109)
at
com.intellij.rt.execution.junit.IdeaTestRunner.startRunnerWithArgs(IdeaTestRunner.java:22)
at
com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:118)
at
com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:40)
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
com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)
Caused by: 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=**********************.MDBSecurityFeed
interfaces=javax.jms.MessageListener, ************************.Loggable,
at
org.apache.openejb.config.AnnotationDeployer$ProcessAnnotatedBeans.deploy(AnnotationDeployer.java:1448)
at
org.apache.openejb.config.AnnotationDeployer$ProcessAnnotatedBeans.deploy(AnnotationDeployer.java:684)
at
org.apache.openejb.config.AnnotationDeployer.deploy(AnnotationDeployer.java:194)
at
org.apache.openejb.config.ConfigurationFactory$Chain.deploy(ConfigurationFactory.java:248)
at
org.apache.openejb.config.ConfigurationFactory.configureApplication(ConfigurationFactory.java:616)
at
org.apache.openejb.config.ConfigurationFactory.configureApplication(ConfigurationFactory.java:566)
at
org.apache.openejb.config.ConfigurationFactory.getOpenEjbConfiguration(ConfigurationFactory.java:391)
at
org.apache.openejb.assembler.classic.Assembler.getOpenEjbConfiguration(Assembler.java:300)
at
org.apache.openejb.assembler.classic.Assembler.build(Assembler.java:279)
... 39 more