我花了大量时间来解决JBoss 6.1.0的问题,以便将JMS连接工厂注入到我的会话bean中。我正在使用具有默认配置文件的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>
部署我的耳朵文件时,出现此错误:
指定的任何映射名称/查找/ jndi名称或任何ResourceProvider都不能处理类型为javax.jms.QueueConnectionFactory的名为env / java:/ QueueConnectionFactory的资源引用
尽管队列工厂在管理控制台中可见,但它无法在我的会话bean中注入队列连接工厂。
最佳答案
最后,我找到了我的问题的答案:
在@Resource
批注中,还需要具有真实JNDI资源名称的mappedName
属性。