用@Depends注释StatelessBean到HornetQ-JMS队列

我在my-hornetq-jms.xml文件中有一个简单的JMS-Queue定义:

      

队列被正确激活,现在我想在我的@Stateless Bean中添加一个依赖项。 这个问题类似于当我的webapp在JBOSS 6.0中启动时如何确保大黄蜂队列在那里? ,但我想用注释定义依赖项。 我试过这个(几个排列),但找不到正确的方法:

 @Depends(value="org.hornetq:module=JMS,type=Queue,name=my.test.queue") 

我总是得到这样的错误:

 Dependency "" (should be in state "Installed", but is actually in state "** UNRESOLVED Demands 'org.hornetq:module=JMS,name=my.test.queue,type=Queue' **") 

顺便说一句:在JBoss-5中我定义了这样的: @Depends(value = "jboss.messaging.destination:service=Queue,name=my.test.queue")

您应该能够使用此Bean名称定义依赖项:

org.hornetq:模块= JMS,类型=主题,名称= “YOUR-TOPIC-NAME”

要么

org.hornetq:模块= JMS,类型=队列,名字= “YOUR-TOPIC-NAME”

有关更多信息,请查看org.hornetq.api.core.management.ObjectNameBuilder的实现,因为部署者在此处使用方法来定义名称。

另外:MBean之间的这种依赖关系仅适用于AS6或EAP 5.1.1+。 这不适用于AS5或任何其他手动安装,因为手动安装中未安装AS部署器。

另外:AS7具有不同的注入依赖性。 这也不适用于AS7。 (我相信它不需要,因为你可以直接注入JNDI名称。即它在AS7以更好的方式完成)

上面描述的错误是因为我输入了错误的@Depends

 import org.jboss.ejb3.annotation.Depends; //WRONG import org.jboss.beans.metadata.api.annotations.Depends; //CORRECT