プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle WebLogic Server JMSリソース・アダプタの管理
12c (12.2.1.3.0)
E90334-01
目次へ移動
目次

前
次

8 リソース・プロバイダの理解

次の各項では、リソース・プロバイダの構成方法と使用方法について説明します。リソース・プロバイダでは、JMSリソース・アダプタによるWebLogic JMSプロバイダへの接続を可能にするJNDIプロパティを定義します。

基本的なリソース・プロバイダの構成

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ファイルで次の手順を実行します。

    1. resourceProviderDefinitionsプロパティを<config-property-name>要素の値として指定します。たとえば、次のように構成します。

      <config-property-name>resourceProviderDefinitions</config-property-name>
      
    2. java.lang.String<config-property-type>要素の値として指定します。たとえば、次のように構成します。

      <config-property-type>java.lang.String</config-property-type>
      
    3. リソース・プロバイダ用の特定の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プロパティを構成するには、次の手順を実行します。

  1. groupDefinitions<config-property-name>要素の値として指定します。次に例を示します。
    <config-property-name>groupDefinitions</config-property-name>
    
  2. java.lang.String<config-property-type>要素の値として指定します。次に例を示します。
    <config-property-type>java.lang.String</config-property-type>
    
  3. Group構成を次のパターンを使用して定義します。
    <config-property-value>
       GROUP_NAME: macro
    </config-property-value
    

    先行のパターンの説明は次のとおりです。

    • GROUP_NAMEは、Group構成を表す一意の名前です。

    • macroは、互換性のあるメッセージ・オブジェクトのセットを定義する名前-値ペアのカンマ区切りのリストです。JMSリソース・アダプタでは、rpResourceLocation構成プロパティのかわりに、接続ファクトリおよび管理対象オブジェクト内で、これらのペアが使用されます。

構成例については、リソース・プロバイダの構成例を参照してください。

リソース・プロバイダの構成例

次に、リソース・プロバイダの構成例を示します。この例の内容は次のとおりです。

  • 2つのリソース・プロバイダ(rp1rp2)が構成されます。

  • 2つのグループ・オブジェクト(GroupAGroupB)が構成されます。

. . .
     <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>
. . .