GlassFish Opensource Edition で実行するテスト EJB3 アプリケーションを作成しました。
同じホストから GlassFish に接続しています (クライアントとアプリケーション サーバーの両方が「localhost」で実行されています)。
InitialContext.lookup() を使用してリモート (ステートフル) オブジェクトを取得し、通常の Java オブジェクトのように操作します。
唯一の問題は、この単一の呼び出しで、15 秒かかります。
FooRemoteService foors = (FooRemoteService)
context.lookup("java:global/FooApp/FooService!test.FooRemoteService");
ある種の「ハンドシェイク」と「初期化」が必要であることは理解していますが、これは非常に遅いです。
残りの対話 (多くのシリアル化されたオブジェクトが交換される複数のリモート呼び出し) は、わずか約 0.1 秒しかかかりません!
こんなに時間がかかる理由はどうすればわかりますか?