【问题标题】:Impossible to inject JMS QueueConnectionFactory in JBoss 6.1.0 with resource annotation无法使用资源注释在 JBoss 6.1.0 中注入 JMS QueueConnectionFactory
【发布时间】:2014-01-24 20:08:42
【问题描述】:

我花了很多时间来解决 JBoss 6.1.0 在我的会话 bean 中注入 JMS 连接工厂的问题。我正在使用带有默认配置文件的 JBoss 6.1.0 并在 debian 中运行它。

我的代码片段是:

@Resource(name="java:/QueueConnectionFactory")
private QueueConnectionFactory factory

在jboss6/server/default/deploy/hornetq/hornetq-jms.xml中有:

<connection-factory name="QueueConnectionFactory" signature="queue">
        <xa>true</xa>
        <connectors>
           <connector-ref connector-name="in-vm"/>
        </connectors>
        <entries>
            <entry name="java:/QueueConnectionFactory"/>           
        </entries>
    </connection-factory>

在部署我的 ear-file 时出现此错误:

任何指定的映射名称/查找/jndi 名称和任何 ResourceProvider 都不能处理名为 env/java:/QueueConnectionFactory 的 javax.jms.QueueConnectionFactory 类型的资源引用

尽管队列工厂在管理控制台中可见,但它无法在我的会话 bean 中注入队列连接工厂。

【问题讨论】:

    标签: java jboss ejb jms


    【解决方案1】:

    我终于找到了我的问题的答案:

    @Resource 注释中,mappedName 属性以及真实的 JNDI 资源名称也是必需的。

    【讨论】:

      【解决方案2】:

      这是一个可以生成 JMS 的简单 MDB,它适用于 JBoss 6.1.0

      这里的工作代码:https://github.com/OpenRAP/jboss6-jms-chat

      @MessageDriven(activationConfig = {
      @ActivationConfigProperty(
              propertyName = "destinationType",
              propertyValue = "javax.jms.Queue"),
      @ActivationConfigProperty(
              propertyName = "destination",
              propertyValue = "queue/questionqueue"),
      @ActivationConfigProperty(propertyName = "subscriptionDurability", propertyValue = "durable")})
      public class ChatBean implements MessageListener {
      
      @Resource(mappedName = "java:/JmsXA")
      private ConnectionFactory queueConnectionFactory;
      
      @Resource(mappedName = "queue/answerqueue")
      private Queue answerQueue;
      
      public void onMessage(Message message) {}
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-25
        • 1970-01-01
        • 2013-04-24
        • 2021-11-11
        • 2012-01-01
        • 2010-11-25
        相关资源
        最近更新 更多