ここでは、クラスローダを使用する際の注意事項について説明します。
コネクターを使用する際の注意事項
ネイティブライブラリを使用したコネクターを運用する場合、配備したDASまたはGlassFish Serverクラスターから参照可能にするために、ネイティブライブラリへのパスを環境変数PATH(LinuxではLD_LIBRARY_PATH)に設定します。
詳細は、「環境変数」を参照してください。
Jakarta EEアプリケーションでJNIを使用する場合の注意事項
同じNativeモジュールは、別々のクラスローダでロードすることはできません。JNIを使用するクラスがアプリケーション(EAR、ejb-jar、WAR、RAR)に含まれている場合、同じNativeモジュールを別々のクラスローダでロードするとjava.lang.UnsatisfiedLinkErrorがスローされます。
java.lang.UnsatisfiedLinkErrorがスローされた場合は、JNIを使用するクラス(nativeメソッドを実装しているクラス)をアプリケーションに含めずに、JNIを使用するクラスを共通ディレクトリーに保管してください。
また、JNIを使用するクラスがアプリケーション(EAR、ejb-jar、WAR、RAR)に含まれている場合、そのアプリケーションはHotDeployを使用できません。
使用した場合は、java.lang.UnsatisfiedLinkErrorがスローされ、HotDeployに失敗する可能性があります。java.lang.UnsatisfiedLinkErrorがスローされ、HotDeployに失敗した場合は、DASまたはGlassFish Serverクラスターを再起動してください。
JNIを使用するアプリケーションでHotDeployを使用する場合は、JNIを使用するクラスを共通ディレクトリーに設定してください。なお、JNIを使用するクラスを入れ替える場合は、DASまたはGlassFish Serverクラスターを再起動してください。