JacORB クライアントの Appl A と TAO サーバーの Appl B があります。
実行の詳細:
a) アプリケーション A は最初に、その corbaloc URL を使用してサーバー プロセス (アプリケーション B) の object_reference を作成し、その後の使用のためにこの参照をマップに保持します。これは、Appl B のすべての corba 呼び出しに同じオブジェクト参照が使用されることを意味します。
b) アプリ A は、上で作成したアプリ B の狭められたオブジェクト参照に対してインベントリ メソッドを呼び出します。
c) サーバー側 (TAO) では、サーバントがリクエストを完了し、レスポンスを送信します。
d) Jacorb クライアント側で長い間 (タイムアウト間隔の後だと思います)、例外が発生します。
org.omg.CORBA.COMM_FAILURE: vmcid: 0x0 minor code: 0 completed: Maybe
at org.jacorb.orb.giop.ReplyPlaceholder.getInputStream(ReplyPlaceholder.java:133)
. e) 上記のリクエストがタイムアウトする前に、同じクエリがサーバー上で再度行われた場合 (同じ接続オブジェクトを使用)、両方のレスポンスが受信され、適切に処理されます。
この場合の進め方について何か考えはありますか? 私の推測では、ソケット バッファがフラッシュを待っているため、常に 2 回目に動作するのです。接続オブジェクトでフラッシュを強制する方法はありますか?