【问题标题】:Annotate StatelessBean with @Depends to HornetQ-JMS Queue使用 @Depends 将 StatelessBean 注释到 HornetQ-JMS 队列
【发布时间】:2011-10-10 02:21:37
【问题描述】:

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

<configuration xmlns="urn:hornetq"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="urn:hornetq /schema/hornetq-jms.xsd">
      <queue name="my.test.queue">  
        <entry name="/queue/myTest"/>  
      </queue>  
</configuration>

队列已正确激活,现在我想在我的@Stateless Bean 中添加一个依赖项。这个问题类似于How can I ensure that the hornet queues are there when my webapp starts in JBOSS 6.0?,但是我想用注解定义依赖。我试过这个(在几个排列中),但没有找到正确的方法:

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

我总是收到这样的错误:

Dependency "<UNKNOWN jboss.j2ee:jar=my.war,name=MyBean,service=EJB3>"
(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")

【问题讨论】:

    标签: java jboss6.x hornetq


    【解决方案1】:

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

    org.hornetq:module=JMS,type=Topic,name="YOUR-TOPIC-NAME"

    org.hornetq:module=JMS,type=Queue,name="YOUR-TOPIC-NAME"

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

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

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

    【讨论】:

    • 目前我正在使用 JBoss-AS6。我是否必须遵守引号(因为这应该在 value="..." 内?
    • 我相信你会的。在 AS6 上,这用作 POJO 微容器的名称。所以我不确定这个名字是否真的是一个表达式。
    • 如果您可以接受答案,或者在这里提出更多问题,请
    • 您的建议实际上与我在我的问题中已经尝试和描述的相同......没有成功:-(
    • 这应该没问题。您应该提供一些代码并将其发布在 HornetQ 用户论坛(或 JBoss 用户论坛)上。然后我们将能够识别错误或找出您做错了什么。
    【解决方案2】:

    出现上述错误是因为我导入了错误的@Depends

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-03
      • 2014-09-17
      • 2012-03-13
      • 2013-11-10
      • 1970-01-01
      • 2014-10-27
      相关资源
      最近更新 更多