WebOTX Manual V10.2 (第4版) 目次を表示 |
最も一般的な、ライブラリの共有方法です。 配置したライブラリは、WebOTX ASに配備した全てのアプリケーションで利用できます。 ただしライブラリを更新する場合、そのライブラリを利用している全てのアプリケーションが影響を受けるという点に注意する必要があります。 ライブラリの置換を行う場合は、WebOTX AS の再起動が必要になります。
ライブラリを共有せずに、個別にアプリケーションのアーカイブに含めます。 他のアプリケーションに影響を与えることなく利用するライブラリを更新できるメリットがあります。 ただしライブラリを更新するためには、アプリケーションの再配備が必要になります。 さらにアプリケーションの形式がEARの場合は、利用するライブラリをEAR内で共通とするか、WAR等で個別に持つかを決定する必要があります。 EJBの呼び出しで引数や戻り値として利用するクラスは、必ずEAR内で共通のライブラリとして配置する必要があります。
アーカイブに含めずに、配備時に利用するライブラリを指定します。
Applibsクラスローダでロードされます。
使用するライブラリは、[DOMAIN]/lib/applibs
に配置してください。
アーカイブを変更する必要がなく、なおかつアプリケーション間で特定のライブラリの別バージョンを使い分ける事ができる点が特徴です。
配置したライブラリは、WebOTX ASに配備した全てのアプリケーションで利用できます。 拡張クラスローダでライブラリをロードした場合、WebOTX AS自体のライブラリよりも優先してロードされるため、注意が必要です。 拡張クラスローダでロードするJarライブラリを更新するためには、ドメインの再起動が必要になります。
JDK 9以降では拡張機能メカニズムが廃止されたことにより、拡張クラスローダは廃止されました。
プロセスグループ毎に環境変数CLASSPATHでクラスパスを設定可能であるため、プロセスグループ毎に共有するライブラリを分ける場合に利用できます。 ただし、システムクラスローダでロードされるクラスをアプリケーション用のクラスローダから参照することはできません。 設定変更後は、アプリケーショングループの再起動が必要になります。
JDBCドライバはWebOTX本体からアクセスできる必要があります。
そのため、JDBCドライバは拡張クラスローダか共通クラスローダで読み込むように配置する必要があります。
通常は[DOMAIN]/lib/ext
に配置します。
JDK 9以降では拡張クラスローダが廃止されたため、[DOMAIN]/lib/ext
に配置しても読み込まれません。
代わりに[DOMAIN]/lib
に配置して、[DOMAIN]/config/server.policy
で必要な権限を付与する必要があります。
例えば、[DOMAIN]/lib
に配置したJDBCドライバに全ての権限を与える場合は、server.policy
に以下のように追記します。
(server.policy
の編集はドメインを停止した状態で実施してください)
grant codeBase "file:${com.nec.webotx.instanceRoot}/lib/[JDBCドライバ].jar" { permission java.security.AllPermission; };