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。报告的错误与修复似乎没有关系,但它是造成这种差别的原因。希望这可以帮助别人。