WindowのLoadLibraryとFreeLibraryへのアクセスを提供するDLLがあります(Javaがそれをアンロードできないことを回避するため)。このDLLは2回ロードできないため、各Webアプリケーション間で永続化する必要があります。
私はこれらの手順に従いました:
static { System.loadLibrary() }
$ {TOMCAT} / libの下の呼び出しでシングルトンクラスを(jarとして)配置しました。Tomcat Webアプリがこのシングルトンにアクセスしても、エラーがスローされます
UnsatisfiedLinkError: Native Library ${TOMCAT}\lib\Native.dll already loaded in another classloader
これは、Tomcatの一般的なクラスローダーがこのクラスをロードし、インスタンス化して(http://tomcat.apache.org/tomcat-7.0-doc/class-loader-howto.htmlのように)、への参照を渡すと考えるのは間違っていますか?したがって、webappはwebappクラスローダーをバイパスしますか?
シングルトンをインスタンス化するようにTomcatに指示し(一般的なクラスローダーに強制的に実行させる)、Webアプリケーションの依存関係を満たすためにそのインスタンスを提供する方法はありますか?
どんな議論でも大歓迎です。