複数の Java EE アプリケーションでのライブラリーの共有

ライブラリーは、複数の Java™ EE アプリケーションで共有できます。すべてのアプリケーションで実行時に同じクラスを使用するか、各アプリケーションで同じロケーションからロードされたクラスの別個のコピーを独自に使用することができます。

このタスクについて

以下の例では、Alexandria というライブラリーは、次の 2 つのファイルで構成されています。
  • alexandria-scrolls.jar
  • commons-lang.jar
Scholar というアプリケーションおよび Student というアプリケーションが、Academy というサーバー上で実行されており、このライブラリーに対するアクセス権限を両方のアプリケーションが必要としています。

手順

  1. ${WLP_USER_DIR} ディレクトリー内の servers/Academy ディレクトリーに mylib/Alexandria ディレクトリーを作成します。

    例: wlp/usr/servers/Academy/mylib/Alexandria

  2. ファイル alexandria-scrolls.jar および commons-lang.jar を新規フォルダーにコピーします。
  3. Alexandria ライブラリーがロードされるように、アプリケーション用のクラス・ロードを構成します。
    server.xml ファイルまたは組み込みファイルで、以下のコードを追加して、ライブラリーを定義します。
    <library id="Alexandria">
      <fileset dir="${server.config.dir}/mylib/Alexandria" includes="*.jar" scanInterval="5s" />
    </library>
    注: <library> エレメントは、<fileset> エレメント ID のコンマ区切りのリストが含まれた filesetRef 属性を取ることもできます。
  4. 両方のアプリケーションがライブラリーの単一コピーを共有するように、アプリケーションからライブラリーを参照します。
    server.xml ファイルまたは組み込みファイルで、以下のコードを追加します。
    <application id="scholar" name="Scholar" type="ear" location="scholar.ear">
      <classloader commonLibraryRef="Alexandria" />
    </application>
    
    <application id="student" name="Student" type="ear" location="student.ear">
      <classloader commonLibraryRef="Alexandria" />
    </application>
    注: <commonLibraryRef> エレメントは、ライブラリー ID のコンマ区切りのリストを取ることができます。
  5. オプション: 同じ JAR ファイルからロードされたクラス・セットを独自に持つように、別のアプリケーションを構成します。
    例えば、Spy という別のアプリケーションで独自のクラスのコピーが必要な場合は、ディスク上の同じ物理ファイルを使用できます。server.xml ファイルまたは組み込みファイルで、以下のコードを追加します。
    <application id="spy" name="Spy" type="war" location="spy.war">
      <classloader privateLibraryRef="Alexandria" />
    </application>
    注: <privateLibraryRef> エレメントは、ライブラリー ID のコンマ区切りのリストを取ることができます。

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

インフォメーション・センターに関するご使用条件 | フィードバック


タイム・スタンプ・アイコン 最終更新: 2015 年 6 月 17日
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_classloader_shared_libs
ファイル名: twlp_classloader_shared_libs.html