JBoss6 MDB无法部署,但在JBoss4.0.4中正常部署

问题描述:

我想部署一个我在我的JBoss-4.0.4.GA环境中的jar到JBoss-6.0.0.Final环境。我遇到了一个我不确定的问题。我在启动JBoss时遇到这个错误:JBoss6 MDB无法部署,但在JBoss4.0.4中正常部署

17:45:27,719 INFO [EjbDeployer] installing bean: ejb/#MyMessageBean,uid33175643 
17:45:27,719 INFO [EjbDeployer] with dependencies: 
17:45:27,719 INFO [EjbDeployer] and supplies: 
17:45:27,738 INFO [EjbDeployer]  jndi:null 
17:45:27,796 INFO [EjbModule] Deploying MyMessageBean 
17:45:27,918 ERROR [AbstractKernelController] Error installing to Create: name=jboss.j2ee:jndiName=local/[email protected],service=EJB state=Configured mode=Manual requiredState=Create: java.lang.UnsupportedOperationException: Message driven beans are not bound into remote jndi 

我们使用的是ejb 2.1。

我想我的部署描述符中有些东西是JBoss 4.0.4能够容忍的,JBoss 6并不那么宽容。

META-INF/ejb-jar.xml中

<message-driven> 
    <description></description> 
    <display-name>My Message Bean</display-name> 
    <ejb-name>MyMessageBean</ejb-name> 
    <ejb-class>com.myplace.MyMessageBean</ejb-class> 
    <transaction-type>Container</transaction-type> 
    <acknowledge-mode>Auto-acknowledge</acknowledge-mode> 
    <message-driven-destination> 
     <destination-type>javax.jms.Topic</destination-type> 
     <subscription-durability>NonDurable</subscription-durability> 
    </message-driven-destination> 
</message-driven> 

和META-INF/jboss.xml中:

<enterprise-beans> 
    <message-driven> 
     <ejb-name>MyMessageBean</ejb-name> 
     <destination-jndi-name>topic/MyTopic</destination-jndi-name> 
     <configuration-name>My Message Driven Bean Container Configuration</configuration-name> 
    </message-driven> 
</enterprise-beans> 

我的部署描述符是由XDoclet的产生。

非常感谢您的帮助。

这个解决方案很奇怪 - 我从容器定义中删除了MetricsInterceptor。报告的错误与修复似乎没有关系,但它是造成这种差别的原因。希望这可以帮助别人。