WebLogic にデプロイされた Web アプリは、SomeProxy.class のネイティブ メソッドを呼び出します。この SomeProxy.class は共有ライブラリとしてデプロイされます。ネイティブ ライブラリをロードするための静的ブロックがあります。
public class SomeProxy {
static {
System.load("/path/to/jnilib");
setup();
}
public static native void setup();
public native int solve();
}
Web アプリのクライアント クラスには、SomeProxy.class を呼び出す次のコードがあります。
public class SomeClient {
void use() {
SomeProxy proxy = new SomeProxy();
int result = proxy.solve();
}
}
Web アプリの最初のデプロイは正常に実行されます。その後、Web アプリは停止され、削除され、再インストールされました。ネイティブ メソッドの呼び出しが失敗し、次のエラー メッセージが表示されました。
java.lang.UnsatisfiedLinkError: package/name/SomeProxy.setup()V
at package.name.SomeProxy.<clinit>(SomeProxy.java:19)
at package.name.SomeClient.use(SomeClient.java:112)