プライマリ・コンテンツに移動
Oracle® Fusion Middleware WebLogic Server Multitenantの使用
12c (12.2.1.1.0)
E77392-02
目次へ移動
目次

前
次

21 リソース・アダプタの構成

この章では、Oracle WebLogic Server Multitenant (MT)でリソース・アダプタ(コネクタ)を構成する方法について説明します。

この章の内容は次のとおりです。

ドメイン・パーティションでのリソース・アダプタの構成: 概要

Oracle WebLogic Server Multitenantを使用すると、リソース・グループおよびリソース・グループ・テンプレートを介して、スタンドアロンおよび埋込みのリソース・アダプタをドメイン・パーティションにデプロイできます。アプリケーションのデプロイの詳細は、「アプリケーションのデプロイ」を参照してください。

リソース・アダプタがパーティションにデプロイされると、そのすべてのリソース(リソース・アダプタBean、接続プール、管理対象オブジェクトなど)はパーティションのJNDIネームスペースに登録され、JNDI名およびクラス・ローダーは、他のパーティションのアプリケーションから分離されます。このため、同じパーティション内のアプリケーションのみが、リソース・アダプタが提供するサービスにアクセスでき、同じパーティション内のアプリケーションのみがリソース・アダプタのクラスにアクセスできます。

リソース・アダプタがドメインにデプロイされると、そのすべてのリソース・アダプタBean、接続プールおよび管理対象オブジェクトは、ドメインのJNDIネームスペースに登録されます。これらのリソースは、ドメインにデプロイされたアプリケーションでのみ表示可能です。

ドメイン・レベルのリソース・アダプタのconfig.xmlの例

リソース・アダプタをリソース・グループ・テンプレートに構成し、それをパーティションのリソース・グループで参照できます。

この例では、スタンドアロン・リソース・アダプタはリソース・グループ・テンプレートに定義されます。2つのパーティション(HRおよびFinance)はそれぞれ、リソース・グループ・テンプレートからアプリケーションおよびリソースを継承するリソース・グループを定義します。この場合、各パーティションには独自のリソース・アダプタがあります。

<domain>
...
<resource-group-template>
      <name>RGT1</name>
      <app-deployment>
         <name>my_ra</name>
         <module-type>rar</module-type>
         <source-path>/some/directory/mail-connector.rar</source-path>
         <deployment-order>120</ deployment-order >
         ...
      </app-deployment>
      ...
   </resource-resource-template>
 
   <partition>
       <name>HR</name>
       <resource-group>
          <name>RG1</name>
          <resource-group-template>RGT1</resource-group-template>
       </resource-group>
       ...
   </partition>
   <partition>
       <name>Finance</name>
       <resource-group>
          <name>RG2</name>
          <resource-group-template>RGT1/resource-group-template>
       </resource-group>
       ...
   </partition>
...
</domain>

パーティション・レベルのリソース・アダプタのconfig.xmlの例

この例では、ドメインに定義された2つのパーティション(HRおよびFinance)があります。HRパーティションには、スタンドアロン・リソース・アダプタを定義するリソース・グループがあります。この場合、 HRパーティションにデプロイされたリソース・アダプタは、Financeパーティションでは非表示になります。

<domain>
...
<partition>
      <name>HR</name>
      <resource-group>
          <name>HR Apps and Resources</name>
          <app-deployment>
             <name>mailra</name>
             <module-type>rar</module-type>
             <source-path>/some/directory/mail-connector.rar</source-path>
             <deployment-order>120</ deployment-order >
             ...
          </app-deployment>
          ...
 
      </resource-group>
   </partition>
 
   <partition>
      <name>Finance</name>
      ...
   </partition>
...
</domain>

ドメイン・パーティションでリソース・アダプタを使用する際のベスト・プラクティスおよび考慮事項

この項では、マルチテナント環境でリソース・アダプタを開発するシステム管理者のベスト・プラクティスおよび考慮事項について説明します。

パーティション・レベルのリソース・アダプタのクラス・ロード動作の定義

パーティション・レベルのスタンドアロン・リソース・アダプタは、パーティション・クラス・ローダー(ドメイン/libクラス・ローダーのサブ・クラス・ローダー)およびパーティションのすべてのアプリケーション・クラス・ローダーの親によってロードされます。

weblogic-ra.xmlデプロイメント・ディスクリプタの<enable-global-access-to-classes>要素は、パーティションのリソース・アダプタ・クラスのクラス・ロード動作を決定します。

詳細は、『Oracle WebLogic Serverリソース・アダプタの開発』のweblogic-ra.xmlスキーマに関する項を参照してください。

  • <enable-global-access-to-classes>がfalseに設定された場合、パーティション・リソース・アダプタ・クラスのクラス・ロード動作は、ドメイン・レベルのリソース・アダプタ・クラスの場合の動作と同じです。

  • <enable-global-access-to-classes>がtrueに設定された場合、次のようになります。

    • リソース・アダプタがドメインにデプロイされると、リソース・アダプタ・クラスは、ドメイン・クラス・ローダーによってロードされます。そのため、リソース・アダプタ・クラスは、他のパーティションのアプリケーションから分離されます。

    • リソース・アダプタがパーティションにデプロイされると、リソース・アダプタ・クラスは、パーティション・クラス・ローダーによってロードされます。そのため、リソース・アダプタ・クラスは、ドメイン・パーティションおよび他のパーティションのアプリケーションから分離されます。

パーティションのアプリケーション構成のオーバーライド

各パーティションは、リソース・グループ・テンプレートで定義された構成をオーバーライドするために使用できるデプロイメント・プランを指定できます。リソース・アダプタ・アプリケーションは、デプロイメント時にこのデプロイメント・プランを適用する必要があります。

詳細は、「アプリケーション構成のオーバーライド」を参照してください。

AppDeploymentConfigMBeanplan-path属性を使用してアプリケーション・レベルでデプロイメント・プラン・ファイルを指定して、リソース・アダプタの構成をオーバーライドできます。パーティションのリソース・グループがリソース・グループ・テンプレートのリソース・アダプタを参照する場合、アプリケーション・レベルで指定したデプロイメント・プランのマクロ置換を使用して、リソース・グループ構成をオーバーライドできます。次の例は、デプロイメント・プランのファイル名のマクロを使用したリソース・グループ・テンプレートを示しています。2つのパーティション(HRおよびFinance)があります。

<domain>
    <resource-group-template>
        <name>RGT1</name>
        <app-deployment>
            <name>mailra</name>
                 <name>my_ra</name>
                 <module-type>rar</module-type>
                 <source-path>/some/directory/sample_connector.rar</source-path>
                 <deployment-order>120</ deployment-order >
            <plan-path>${MYRA-PLAN-FILE}</plan-path>
        </app-deployment>
        ...
    </resource-group-template>
 
    <partition>
        <name>HR</name>
        <resource-group>
            <name>RG1</name>
            <resource-group-template>RGT1</resource-group-template>
        </resource-group>
        <partition-properties>
            <partition-property>
                <name>MYRA-PLAN-FILE</name>
                <value>/apps/plans/hr/my_ra-plan.xml</value>
            </partition-property>
        </partition-properties>
        ...
    </partition>
 
    <partition>
        <name>Finance</name>
        <resource-group>
            <name>RG2</name>
            <resource-group-template>RGT1</resource-group-template>
        </resource-group>
        <partition-properties>
            <partition-property>
                <name>MYRA-PLAN-FILE</name>
                <value>/apps/plans/Finance/my_ra-plan.xml</value>
            </partition-property>
        </partition-properties>
        ...
    </partition>
</domain>

リソース・アダプタのリソース定義の考慮事項

@ConnectorResourceDefinitionおよび@AdministeredObjectDefinition注釈を使用して、Webモジュール、EJBモジュール、または同等のアプリケーション・デプロイメント・ディスクリプタで、リソース・アダプタのリソースを定義できます。これらの注釈を使用すると、マルチテナント環境で次の条件が該当します。

  • @ConnectorResourceDefinitionおよび@AdministeredObjectDefinitionまたは同等のデプロイメント・ディスクリプタがドメイン・レベルのアプリケーションで定義された場合、関連するリソース・アダプタはドメイン・レベルでデプロイされる必要があります。

  • @ConnectorResourceDefinitionおよび@AdministeredObjectDefinitionまたは同等のデプロイメント・ディスクリプタがパーティション・レベルのアプリケーションで定義された場合、関連するリソース・アダプタは同じパーティションでデプロイされる必要があります。

リソース・グループ移行およびリソース・アダプタ

スタンドアロン・リソース・アダプタは、同じパーティションのリソース・グループで共有されます。これはリソース・グループで定義できますが、そのリソース・グループによって排他的に占有されることはありません。リソース・グループRG1が、リソース・グループRG2で定義されたスタンドアロン・リソース・アダプタRA2に依存していると仮定した場合、RG2が新しいクラスタに移行されると、RG1は同時にそのクラスタに移行される必要があります。それ以外の場合、RG1は機能しません。

リソース・グループ移行を行う場合、1つのリソース・アダプタと関連するすべてのアプリケーションを同じリソース・グループで定義することをお薦めします。