Java EE アプリケーションからのスタンドアロン・リソース・アダプターへのアクセス

スタンドアロン・リソース・アダプターには、 Java™ EE アプリケーションからアクセスできます。

このタスクについて

スタンドアロン・リソース・アダプターのクラスおよびリソースは、複数の Java EE アプリケーションの間で共有できます。 デフォルトでは、 Java EE アプリケーションはスタンドアロン・リソース・アダプターにアクセスできません。 このアクセスを可能にするには、リソース・アダプターとアプリケーションの両方をサーバー構成内に構成する必要があります。

以下の例では、Scholar という名前のアプリケーションと Student という名前のアプリケーションが、Academy という名前のサーバーで実行されています。 どちらのアプリケーションも、 C:/adapters/version-1.6 ディレクトリーにある socrates.rar ファイルで提供される Socrates16というリソース・アダプターにアクセスする必要があります。

手順

  1. スタンドアロン・リソース・アダプターを構成します。

    server.xml ファイルに次のコードを追加してスタンドアロン・リソース・アダプターを構成します。

     <resourceAdapter id="Socrates16" location="C:/adapters/version-1.6/socrates.rar" /> 
  2. 両方のアプリケーションが、リソース・アダプター・モジュールで提供されているクラスとリソースにアクセスできるように、アプリケーションからリソース・アダプターを参照します。

    server.xml ファイルに次のコードを追加して、classProviderRef 属性を、アプリケーションのクラス・ロード構成内のリソース・アダプターの ID に設定します。

    <application id="scholar" name="Scholar" type="ear" location="scholar.ear">
     <classloader classProviderRef="Socrates16" />
    </application>
    
    <application id="student" name="Student" type="ear" location="student.ear">
     <classloader classProviderRef="Socrates16" />
    </application>
  3. オプション: サード・パーティー API にアクセスするように、スタンドアロン・リソース・アダプターのクラス・ロードを構成します。

    デフォルトでは、リソース・アダプターも Java アプリケーションもサード・パーティー API にアクセスできません。 アプリケーションのクラス・ロード構成でサード・パーティー API へのアクセスが必要な場合に、アプリケーションがスタンドアロン・リソース・アダプターへのアクセスが必要なときには必ず、サード・パーティー API にもアクセスするようにリソース・アダプターのクラス・ロードを構成してください。

    server.xml ファイルで、以下のコードを追加して、サード・パーティー API にアクセスするためのリソース・アダプターのクラス・ロード構成の apiTypeVisibility 属性を構成します。

    <resourceAdapter id="Socrates16" location="C:/adapters/version-1.6/socrates.rar">
     <classloader apiTypeVisibility="spec, ibm-api, stable, third-party" />
    <resourceAdapter/> 
    
    <application id="scholar" name="Scholar" type="ear" location="scholar.ear">
     <classloader classProviderRef="Socrates16" apiTypeVisibility="spec, ibm-api, stable, third-party" />
    </application>
    
    <application id="student" name="Student" type="ear"location="student.ear">
     <classloader classProviderRef="Socrates16" apiTypeVisibility="spec, ibm-api, stable, third-party" /> 
    </application>