EJB3 MDB und Eclipse 3.4 generiert falchen Code

Alle mögen Eclipse, viel mehr Leute (als früher) mögen EJB 3.
Nur leider fabriziert Eclipse 3.4 falschen Code – zumindestens für das Deployment JBoss 5.1

Es muss nicht heißen
[java]@MessageDriven(
activationConfig = {
@ActivationConfigProperty(
propertyName = „destinationType„, propertyValue = „javax.jms.Queue„)
}, mappedName = „queue/SomeQueue„)
public class MyMDB implements MessageListener {[/java]
sondern
[java]@MessageDriven(
activationConfig = {
@ActivationConfigProperty(
propertyName = „destinationType„, propertyValue = „javax.jms.Queue„),
@ActivationConfigProperty(propertyName=„destination„, propertyValue=„queue/SomeQueue„)
})
public class MyMDB implements MessageListener {[/java]
Andernfalls gibt es diesen lustigen Stacktrace:
[code]org.jboss.deployers.spi.DeploymentException: Required config property RequiredConfigPropertyMetaData@1aec43[name=destination descriptions=[DescriptionMetaData@7f923d[language=de]]] for messagingType ‚javax.jms.MessageListener‚ not found in activation config [ActivationConfigProperty(destinationType=javax.jms.Queue)] ra=jboss.jca:service=RARDeployment,name=’jms-ra.rar‚
at org.jboss.resource.deployment.ActivationSpecFactory.createActivationSpec(ActivationSpecFactory.java:95)
at org.jboss.resource.deployers.RARDeployment.createActivationSpec(RARDeployment.java:313)
at org.jboss.resource.deployers.RARDeployment.internalInvoke(RARDeployment.java:276)
at org.jboss.system.ServiceDynamicMBeanSupport.invoke(ServiceDynamicMBeanSupport.java:156)
at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
at org.jboss.ejb3.JmxClientKernelAbstraction.invoke(JmxClientKernelAbstraction.java:58)
at org.jboss.ejb3.mdb.inflow.JBossMessageEndpointFactory.createActivationSpec(JBossMessageEndpointFactory.java:287)
at org.jboss.ejb3.mdb.inflow.JBossMessageEndpointFactory.start(JBossMessageEndpointFactory.java:185)
…[/code]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *