31.8. リソースアノテーションの使用

@Resource アノテーションを使用すると、Jakarta Enterprise Beans は Jakarta Messaging リソースまたは接続ファクトリーを直接挿入できます。@Resource アノテーションを使用して以下のパラメーターを指定できます。

  • lookup
  • name
  • mappedName

リソースを挿入するには、これらのいずれかのパラメーターにリソースの Java Naming and Directory Interface (JNDI) 名を指定する必要があります。

31.8.1. Jakarta メッセージングリソースの挿入

  1. 以下に示すようにキューを定義します。

    <jms-queue name="OutQueue" entries="jms/queue/OutQueue java:jboss/exported/jms/queue/OutQueue"/>
  2. このキューは、@Resource アノテーションの lookupname、または mappedName パラメーターに Java Naming and Directory Interface 名を指定して挿入します。例を以下に示します。

    @Resource(lookup = "java:jboss/exported/jms/queue/OutQueue")
    public Queue myOutQueue;

31.8.2. 接続ファクトリーの挿入

  1. 以下に示すように接続ファクトリーを定義します。この例は、JmsXA プールされた接続ファクトリーを示しています。

    <pooled-connection-factory name="activemq-ra" entries="java:/JmsXA java:jboss/DefaultJMSConnectionFactory" connectors="in-vm" transaction="xa"/>
  2. 以下に示すように、デフォルトの 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 リソースを定義する機能です。