WebSphere Application Server Network Deployment, Version 6.1   
             オペレーティング・システム: AIX , HP-UX, Linux, Solaris, Windows, Windows Vista

             目次と検索結果のパーソナライズ化

共用ライブラリーでのネイティブ・ライブラリーの構成

ネイティブ・ライブラリーは、.dll.so などのプラットフォーム固有のライブラリー・ファイル、または *SRVPGM オブジェクトであり、共有ライブラリー内で構成することができます。 ネイティブ・ライブラリーは、共用ライブラリーがアプリケーションに関連付けられている場合、 常にそのアプリケーション・クラス・ローダーに対して可視です。 同様に、共用ライブラリーがアプリケーション・サーバーに関連付けられている場合、ネイティブ・ライブラリーは、 そのアプリケーション・サーバーのクラス・ローダーに対して可視です。

始める前に

共用ライブラリーの設計では、Java ネイティブ・ライブラリーのサポートについて、次の条件を考慮します。

このタスクについて

「shared library settings」ページで共用ライブラリーを構成する際、 「Native Library Path」に値を指定しても、このパス上のネイティブ・ライブラリーは、 このネイティブ・ライブラリーをロードするクラス自体が同じクラス・ローダーによってロードされていない限り、 WebSphere Application Server アプリケーションまたは共用ライブラリーのクラス・ローダーからは見付けられません。

ネイティブ・ライブラリーは、1 つのクラス・ローダーによって複数回ロードすることができないので、 アプリケーション・サーバーの クラス・ローダーに関連付けられた共有ライブラリー内でネイティブ・ライブラリーをロードする方が適切と言えます。 これは、これらのクラス・ローダーがサーバーの存続期間中は持続するためです。

プロシージャー

  1. ネイティブ・ライブラリーをロードするクラスの静的メソッドをインプリメントします。

    ネイティブ・ライブラリーをロードするクラスの 静的ブロックで System.loadLibrary(native_library) を呼び出します。以下に例を示します。

    static {System.loadLibrary("native_library");

    native_library は、クラスの静的初期化の間にロードされます。初期化は、クラスがロードされるときに 1 回だけ行われます。

  2. 「shared library settings」 ページで、共有ライブラリーがネイティブ・ライブラリーをロードするための 「Classpath」、および「Native Library Path」の値を設定します。
  3. アプリケーション・サーバーのクラス・ローダーに、 共用ライブラリーを関連付けます

    共用ライブラリーを、アプリケーションではなく、アプリケーション・サーバーのクラス・ローダーに関連付けることにより、 サーバー上でアプリケーションが再始動、または動的に再ロードされても、共有ライブラリーのロードは、必ず、 アプリケーション・サーバーのクラス・ローダーによる 1 回のみです。ネイティブ・ライブラリーは静的ブロック内でロードされるため、 そのネイティブ・ライブラリーが複数回ロードされることはありません。




関連概念
クラス・ローダー
関連タスク
共用ライブラリーの管理
J2EE アプリケーションのデプロイと管理
共用ライブラリーの作成
関連資料
共用ライブラリーの設定
タスク・トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 7:44:53 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.nd.doc/info/ae/ae/tcws_sharedlib_nativelib.html