31.8. 使用资源注解
利用 @Resource 注释,Jakarta Enterprise Beans 可以直接注入 Jakarta 消息资源或连接工厂。您可以使用 @Resource 注释指定以下参数:
-
lookup -
name -
mappedName
若要注入资源,您必须在其中一个参数中指定资源的 Java 命名和目录接口(JNDI)名称。
31.8.1. 注入 Jakarta 消息传递资源 复制链接链接已复制到粘贴板!
按如下所示定义队列:
<jms-queue name="OutQueue" entries="jms/queue/OutQueue java:jboss/exported/jms/queue/OutQueue"/>
<jms-queue name="OutQueue" entries="jms/queue/OutQueue java:jboss/exported/jms/queue/OutQueue"/>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 通过在
@Resource注释的lookup、name 或 mappingName参数中指定其 Java 命名和目录接口名称来注入此队列。例如:@Resource(lookup = "java:jboss/exported/jms/queue/OutQueue") public Queue myOutQueue;
@Resource(lookup = "java:jboss/exported/jms/queue/OutQueue") public Queue myOutQueue;Copy to Clipboard Copied! Toggle word wrap Toggle overflow
31.8.2. 注入连接事实 复制链接链接已复制到粘贴板!
如下方所示,定义您的连接工厂。示例显示了
JmsXA 池化连接工厂。<pooled-connection-factory name="activemq-ra" entries="java:/JmsXA java:jboss/DefaultJMSConnectionFactory" connectors="in-vm" transaction="xa"/>
<pooled-connection-factory name="activemq-ra" entries="java:/JmsXA java:jboss/DefaultJMSConnectionFactory" connectors="in-vm" transaction="xa"/>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注入默认
activemq-ra池连接工厂,如下所示:@Resource(lookup = "java:/JmsXA") private ConnectionFactory cf;
@Resource(lookup = "java:/JmsXA") private ConnectionFactory cf;Copy to Clipboard Copied! Toggle word wrap Toggle overflow
31.8.3. Generic Jakarta 消息传递资源适配器的限制和已知问题 复制链接链接已复制到粘贴板!
Jakarta Messaging API 不提供创建 Jakarta 消息资源的程序化方式,仅支持 Jakarta Messaging 2.0 规范中定义的功能。有关规范的更多信息,请参阅 Jakarta Messaging 2.0 规范。
EE.5.18.4 Jakarta Messaging Connection Factory 资源定义
这使得应用能够定义 Jakarta Messaging
ConnectionFactory资源。EE.5.18.5 Jakarta 消息传递目标定义
这使得应用程序能够定义 Jakarta Messaging
Destination资源。