JMS 宛先の構成

Java™ EE Connector Architecture (JCA) 仕様に準拠するリソース・アダプターによって提供される JMS 宛先を構成することができます。

このタスクについて

インストールされているリソース・アダプターによって提供されている JMS 宛先、キュー、またはトピックのタイプの 1 つ以上のインスタンスを構成できます。
以下のタイプの JMS 宛先の構成エレメントが提供されています。
  • javax.jms.Destination: jmsDestination
  • javax.jms.Queue: jmsQueue
  • javax.jms.Topic: jmsTopic
注:

Liberty の JCA サポートを追加するには、WebSphere® Application Server Developer Tools for Eclipse のサーバー構成エディターの「ソース」ビュー、または他のテキスト・エディターを使用して server.xml ファイルを編集する必要があります。「設計」ビューで接続ファクトリー、管理オブジェクト、アクティベーション・スペック、およびリソース・アダプターの構成の一部を編集することは、ベータ版ではサポートされていません。

手順

  1. 1 つ以上の JMS 宛先、キュー、またはトピックのインスタンスを構成します。 宛先インスタンスを構成する場合、どの構成プロパティーもオーバーライドしたくない場合でも、特定のリソース・アダプターによって提供されている JMS 宛先インターフェースに jmsDestination、jmsQueue、または jmsTopic の各エレメントを関連付けるために、properties サブエレメントを提供する必要があります。以下の例で、MyAdapter リソース・アダプターは、1 つのタイプの JMS 宛先、1 つのタイプの JMS キュー、および 1 つのタイプの JMS トピックのみを提供します。
    <jmsDestination jndiName="jms/destination1">
     <properties.MyAdapter name="DEST1"/>
    </jmsDestination>
    
    <jmsQueue jndiName="jms/queue1">
     <properties.MyAdapter queueName="QUEUE1"/> 
    </jmsQueue> 
    
    <jmsTopic id="topic1" jndiName="jms/topic1">
     <properties.MyAdapter topicName="TOPIC1"/>
    </jmsTopic>
  2. (オプション) 必要な場合、使用可能な宛先、キュー、およびトピックのプロパティー・サブエレメント名を識別します。
    注: このトピックでは、MyAdapter という固有 ID を持つリソース・アダプターが既にサーバーに構成されていると想定しています。詳細については、『リソース・アダプターの構成』トピックを参照してください。

    制限: WebSphere Development Tools (WDT) の設計ビューで、接続ファクトリー、管理オブジェクト、アクティベーション・スペック、およびリソース・アダプターのリソース・アダプター構成のプロパティーを編集することはサポートされていません。

    • リソース・アダプターが、javax.jms.Destination インターフェースを持つ、厳密に 1 つのタイプの管理対象オブジェクトを提供している場合、サブエレメント名は properties.<rar_identifier> になります。

    • パッケージ名を除いて実装名が固有の場合、サブエレメント名は properties.<rar_identifier>.<ImplementationName> になります。

    • 他のケースでは、サブエレメントは properties.<rar_identifier>.<fully.qualified.InterfaceName> になります。

    • リソース・アダプターが、javax.jms.Queue インターフェースを持つ、厳密に 1 つのタイプの管理対象オブジェクトを提供している場合、サブエレメント名は properties.<rar_identifier> になります。

    • パッケージ名を除いて実装名が固有の場合、サブエレメント名は properties.<rar_identifier>.<ImplementationName> になります。

    • 他のケースでは、サブエレメントは properties.<rar_identifier>.<fully.qualified.InterfaceName> になります。

    • リソース・アダプターが、javax.jms.Topic インターフェースを持つ、厳密に 1 つのタイプの管理対象オブジェクトを提供している場合、サブエレメント名は properties.<rar_identifier> になります。

    • パッケージ名を除いて実装名が固有の場合、サブエレメント名は properties.<rar_identifier>.<ImplementationName> になります。

    • 他のケースでは、サブエレメントは properties.<rar_identifier>.<fully.qualified.InterfaceName> になります。

固有の実装クラス名を持つ 2 つの JMS 宛先を含むリソース・アダプターの構成方法については、以下の例を使用してください。

ra.xml ファイルからの以下のスニペットで、MyAdapter リソース・アダプターは、固有の実装クラス名を持つ 2 つの JMS 宛先を提供します。

<adminobject>
<adminobject-interface>javax.jms.Destination</adminobject-interface>
<adminobject-class>com.vendor.adapter.QueueImpl</adminobject-class>
<config-property>
 <config-property-name>queueName</config-property-name>
 <config-property-type>java.lang.String</config-property-type>
</config-property>
 ... 
</adminobject>

<adminobject>
<adminobject-interface>javax.jms.Destination</adminobject-interface>
<adminobject-class>com.vendor.adapter.TopicImpl</adminobject-class> 
<config-property> 
 <config-property-name>topicName</config-property-name> 
 <config-property-type>java.lang.String</config-property-type> 
</config-property> 
...
</adminobject>
以下に、このシナリオのサーバー構成の例を示します。
<jmsDestination jndiName="jms/destination1">
 <properties.MyAdapter.QueueImpl queueName="D1"/>
</adminObject> 

<jmsDestination jndiName="jms/destination2">
 <properties.MyAdapter.TopicImpl topicName="D2"/> 
</jmsDestination>

固有名実装クラス名を持っていない 2 つの管理対象オブジェクトを含むリソース・アダプターの構成方法については、以下の例を使用してください。

ra.xml ファイルからの以下のスニペットで、MyAdapter リソース・アダプターは、固有でない実装クラス名を持つ 2 つの管理対象オブジェクトを提供します。

<adminobject>
<adminobject-interface>javax.jms.Queue</adminobject-interface>
<adminobject-class>com.vendor.adapter.QueueImpl</adminobject-class>
<config-property>
 <config-property-name>queueName</config-property-name>
 <config-property-type>java.lang.String</config-property-type>
</config-property>
... 
</adminobject>

<adminobject>
<adminobject-interface>javax.jms.Queue</adminobject-interface>
<adminobject-class>com.vendor.adapter.advanced.QueueImpl</adminobject-class>
<config-property>
 <config-property-name>name</config-property-name>
 <config-property-type>java.lang.String</config-property-type> 
</config-property>
 ...
</adminobject>
以下に、このシナリオのサーバー構成の例を示します。
<jmsQueue jndiName="jms/myQueue">
 <properties.MyAdapter.com.vendor.adapter.QueueImpl queueName="Q1"/>
</jmsQueue>

<jmsQueue jndiName="jms/myAdvancedQueue">
 <properties.MyAdapter.com.vendor.adapter.advanced.QueueImpl name="Q1"/>
</jmsQueue>
一部のシナリオでは、長い構成エレメント名は不適切な場合があります。構成エレメント名のサフィックスのオーバーライド方法については、JCA 構成エレメントのカスタマイズに関する情報を参照してください。

トピックのタイプを示すアイコン タスク・トピック

ファイル名: twlp_jms_config_dest.html