31.4.2. JMSDestinationDefinition アノテーションを使用した JMS リソース設定

サーバーリソースを使用して、ローカルブローカーへの pooled-connection-factory に必要な宛先を作成できます。

resourceAdapter 要素が pooled-connection-factory 名を指し、ローカルブローカー (例: /subsystem/messaging-activemq/server=default) に定義されている場合、ローカル Artemis ブローカーに宛先を作成します。

注記

リモート Artemis ベースのブローカーに宛先を作成する必要がある場合は、pooled-connection-factorymessaging-activemq サブシステムに定義する必要があります。

@JMSDestinationDefinition アノテーションに設定された resourceAdapter が、messaging-activemq サブシステムの server に定義された resourceAdapter 要素と一致する場合、pooled-connection-factory のコネクターがローカル Artemis ブローカーを指すか、リモート Artemis ブローカーを指すかに関係なく、このブローカーに宛先が作成されます。

JMSDestinationDefinition アノテーションを使用した JMS リソースの設定
  1. コネクターを作成します。

    /subsystem=messaging-activemq/remote-connector=remote-amq:add(socket-binding="messaging-remote-throughput")
  2. プールされた接続ファクトリーを作成します。

    /subsystem=messaging-activemq/pooled-connection-factory=activemq-ra-remote:add(entries=["java:/jms/remote-amq/JmsConnectionFactory"],connectors=["remote-amq"])
  3. ee サブシステムのデフォルトの JMS 接続ファクトリーを定義します。

    /subsystem=ee/service=default-bindings:write-attribute(name=jms-connection-factory, value="java:/jms/remote-amq/JmsConnectionFactory")
  4. アプリケーションコードに @JMSDestinationDefinition アノテーションを使用します。

    @JMSDestinationDefinition(
        name = "java:/jms/queue/MessageBeanQueue",
        interfaceName = "javax.jms.Queue",
        destinationName = "MessageBeanQueue"
        properties= {
            "management-address=remote-activemq.management"
        }
    )