在jboss.xml中没有jndi-name的队列可能会出现什么问题?

时间:2011-03-23 12:43:15

标签: jboss message-queue

我正在尝试使用我在jboss 4上运行的应用程序从jboss 4迁移到jboss 6。 但是当我尝试运行应用程序时,我得到以下异常:

DEPLOYMENTS IN ERROR:
  Deployment "jboss.j2ee:binding=message-driven-bean,jndiName=local/ProjectMessage@15042526,plugin=invoker,service=EJB" is in error due to the following reason(s): org.jboss.deployment.DeploymentException: The message-destination 'PhysicalQueue' has no jndi-name in jboss.xml

这是jboss.xml文件的一部分:

<message-driven>
         <ejb-name>ProjectMessage</ejb-name>
         <destination-jndi-name>queue/PhysicalQueue</destination-jndi-name>
      </message-driven>

我在jmx-console中创建了队列。

我试图寻找这个问题的解决方案,但我似乎无法找到任何解决方案。

是否有人对可能出现的问题有任何线索/建议?

提前致谢!

1 个答案:

答案 0 :(得分:0)

发生MDB错误是因为MDB部署时队列不存在。在JMXConsole中创建队列后,为时已晚(除非你真的很快...... :))并且在AS重启后不会保留队列配置。

您需要在 deploy / hornetq / hornetq-jms.xml 中定义队列。

这样的事情:

   <queue name="PhysicalQueue">
      <entry name="/queue/PhysicalQueue"/>
   </queue>