Hi there,
I am testing ejb 3.0 message driven beans and I was trying to deploy
in geronimo a simple jar containing a simple MDB. I am not using the
ejb-jar.xml as I want the container to discover the class. Whenever I
try to deploy it with the console, I get a NullPointerException when
deploying the ejb:
14:33:10,962 ERROR [GBeanInstanceState] Error while starting; GBean is
now in the FAILED state:
abstractName="default/intact-monitor-ear-1.0-SNAPSHOT/1178717578039/car?J2EEApplication=default/intact-monitor-ear-1.0-SNAPSHOT/1178717578039/car,j2eeType=EJBModule,name=ejbs-1.0-SNAPSHOT.jar"
org.apache.openejb.OpenEJBException: Creating application failed:
C:\dev\geronimo-tomcat6-jee5-2.0-M5\var\temp\geronimo-deploymentUtil58027.tmpdir:
Error building bean 'MessageConsumer'. Exception: class
java.lang.NullPointerException: null: null
at
org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:494)
at
org.apache.openejb.assembler.classic.Assembler.createEjbJar(Assembler.java:326)
at
[...]
org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
at
org.apache.geronimo.kernel.config.EditableConfigurationManager$$EnhancerByCGLIB$$979ad769.startConfiguration(<generated>)
at
org.apache.geronimo.deployment.plugin.local.StartCommand.run(StartCommand.java:67)
at java.lang.Thread.run(Thread.java:595)
Caused by: org.apache.openejb.OpenEJBException: Error building bean
'MessageConsumer'. Exception: class java.lang.NullPointerException:
null: null
at
org.apache.openejb.assembler.classic.EjbJarBuilder.build(EjbJarBuilder.java:65)
at
org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:398)
... 34 more
Caused by: java.lang.NullPointerException
at java.util.Hashtable.get(Hashtable.java:336)
at
org.apache.openejb.assembler.classic.EjbJarBuilder.build(EjbJarBuilder.java:60)
... 35 more
It seems that the nullpointer is due to the EjbJarBuilder returning
null for "ejbInfo.containerId"...
Any ideas? Is this supposed to work?
This is my simple class, packaged in a jar:
@MessageDriven(name="jms/testQueue",
activationConfig = {
@ActivationConfigProperty(propertyName = "acknowledgeMode",
propertyValue = "Auto-acknowledge"),
@ActivationConfigProperty(propertyName = "destinationType",
propertyValue = "javax.jms.Queue")
})
public class MessageConsumer implements MessageListener
{
public void onMessage(Message message)
{
System.out.println("MESSAGE! ");
}
}
Thank you in advance,
Bruno