JMSリソース・アダプタは、ra.xml
ファイルのresourceProviderDefinitions
という名前の構成プロパティを使用してJNDIプロパティなどのリソース・プロバイダを定義します。resourceProviderDefinitions
プロパティは、WebLogic JMSにアクセスするためにJMSリソース・アダプタによって使用されます。複数のリソース・プロバイダをra.xml
ファイルに構成できます。
注意:
resourceProviderDefinitions
プロパティを指定するとき、WebLogic Server JNDIのURLに1つ以上のカンマが複数のプロパティを区切るために含まれている場合は、パーセント文字(%
)をエスケープ文字として使用する必要があります。
たとえば、URLがt3://host:port,host2:port2
のように表されている場合、カンマがhost:port
の後に挿入されているためJMSリソース・アダプタはURLの解析に失敗します。
この問題を解決するには、パーセント文字(%
)をカンマの直前に挿入します。たとえば、t3://host:port
%
,host2,port
です。
リソース・プロバイダを構成するには、ra.xml
ファイルで次の手順を実行します。
resourceProviderDefinitions
プロパティを<config-property-name>
要素の値として指定します。たとえば、次のように構成します。
<config-property-name>resourceProviderDefinitions</config-property-name>
java.lang.String
を<config-property-type>
要素の値として指定します。たとえば、次のように構成します。
<config-property-type>java.lang.String</config-property-type>
リソース・プロバイダ用の特定のJNDIプロパティを、次の名前-値ペアのパターンを使用して定義します。
(RP_NAME: jndiEnv=property1=(value1,property2=value2,...))
この名前-値パターンの説明は次のとおりです。
RP_NAME
はリソース・プロバイダのJNDIプロパティ用の一意の名前であり、<connection-definition>
要素と<adminobject>
要素のrpResourceLocation
構成プロパティで使用されます。「アウトバウンドJMSメッセージの送信」を参照してください。
注意:
定義された各リソース・プロバイダ名(RP_NAME
)は、ra.xml
ファイル内で一意である必要があります。
property1=value1,property2=value2,...
は、名前-値ペアのカンマ区切りのリストで、リソース・プロバイダのJNDIプロパティを定義します。
構成例については、リソース・プロバイダの構成例を参照してください。
JMSリソース・アダプタはgroupDefinitions
プロパティをサポートして、リソース・プロバイダを構成するための高度な方法を提供します。これにより、接続ファクトリおよび管理対象オブジェクトの柔軟なアドレス解決が提供される一方で、互換性のあるメッセージング・オブジェクトのセットを作成できますgroupDefinitions
プロパティの使用は、次のコンポーネントに依存します。
Group
: 接続ファクトリおよび関連付けられた宛先管理対象オブジェクトなどの互換性のあるメッセージング・オブジェクトのセット。
Macro
: rpResourceLocation
構成プロパティにかわって、接続ファクトリおよび管理対象オブジェクト内で使用されるGroup
コンポーネント。
ra.xml
ファイルでgroupDefinitions
プロパティを構成するには、次の手順を実行します。
構成例については、リソース・プロバイダの構成例を参照してください。
次に、リソース・プロバイダの構成例を示します。この例の内容は次のとおりです。
2つのリソース・プロバイダ(rp1
とrp2
)が構成されます。
2つのグループ・オブジェクト(GroupA
とGroupB
)が構成されます。
. . . <config-property> <config-property-name>resourceProviderDefinitions</config-property-name> <config-property-type>java.lang.String</config-property-type> // Example Configuration for two resource providers: rp1 and rp2 <config-property-value> (rp1: jndiEnv=(java.naming.factory.initial= weblogic.jms.WrappedInitialContextFactory, java.naming.provider.url=t3://@@@HOST@@@:7002, java.naming.security.principal=wxyzUser1, java.naming.security.credentials=wxyzPass1)) (rp2: jndiEnv=(java.naming.factory.initial= weblogic.jms.WrappedInitialContextFactory, java.naming.provider.url=t3://anotherhost:8002, java.naming.security.principal=wxyzUser1, java.naming.security.credentials=wxyzPass1)) </config-property-value> . . . </config-property> <config-property> <config-property-name>groupDefinitions</config-property-name> <config-property-type>java.lang.String</config-property-type> <config-property-value> (GroupA: connectorName=rp1, cf=myCF, xacf=myXACF, topic1=myT1, topic2=myT2, queue1=myQ1, queue2=myQ12) (GroupB: connectorName=rp2, cf=example/cf, xacf=example/xacf, queue1=queue1, queue2=queue2) </config-property-value> </config-property> . . .