31.8. リソースアノテーションの使用
@Resource
アノテーションを使用すると、Jakarta Enterprise Beans は Jakarta Messaging リソースまたは接続ファクトリーを直接挿入できます。@Resource
アノテーションを使用して以下のパラメーターを指定できます。
-
lookup
-
name
-
mappedName
リソースを挿入するには、これらのいずれかのパラメーターにリソースの Java Naming and Directory Interface (JNDI) 名を指定する必要があります。
31.8.1. Jakarta メッセージングリソースの挿入
以下に示すようにキューを定義します。
<jms-queue name="OutQueue" entries="jms/queue/OutQueue java:jboss/exported/jms/queue/OutQueue"/>
このキューは、
@Resource
アノテーションのlookup
、name
、またはmappedName
パラメーターに Java Naming and Directory Interface 名を指定して挿入します。例を以下に示します。@Resource(lookup = "java:jboss/exported/jms/queue/OutQueue") public Queue myOutQueue;
31.8.2. 接続ファクトリーの挿入
以下に示すように接続ファクトリーを定義します。この例は、
JmsXA
プールされた接続ファクトリーを示しています。<pooled-connection-factory name="activemq-ra" entries="java:/JmsXA java:jboss/DefaultJMSConnectionFactory" connectors="in-vm" transaction="xa"/>
以下に示すように、デフォルトの
activemq-ra
プールされた接続ファクトリーを挿入します。@Resource(lookup = "java:/JmsXA") private ConnectionFactory cf;
31.8.3. 汎用 JMS リソースアダプターの制限と既知の問題
汎用 JMS リソースアダプターは、JMS サーバーと通信するために JMS API に依存します。JMS API は JMS リソースを作成するためのプログラムを使用した方法を提供しないため、Java™ Platform, Enterprise Edition (Java EE) Specification, v7 に定義されている以下の新機能はサポートされません。
EE.5.18.4 JMS 接続ファクトリーリソース定義
これは、アプリケーションが JMS
ConnectionFactory
リソースを定義する機能です。EE.5.18.5 JMS 宛先定義
これは、アプリケーションが JMS
Destination
リソースを定義する機能です。