用@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