EJB B
を呼び出すEJB A
があります。 UIは応答のために30秒以上待つべきではありません。一部のデータが欠落している場合、部分的な応答が返されます。タイムアウトのあるEJB呼び出しを作成する
EJB B
でタイムアウト(30秒の制限時間)を定義するにはどうすればよいですか?
Future
を返してからFuture.get(30, TimeUnit.SECONDS)
を返すように、B
をAsynchronous
と定義できます。 しかし、それは最善の解決策ですか?
ありがとう
P.S.私はグラスフィッシュを使用する3.1
私はEJBを中断することを意味しません。アイデアは、30秒後にUIに応答(または「タイムアウトエラー」)を返すことでした。 – lili
バックエンドをタイムアウトせずにフロントエンドをタイムアウトさせるのは賢明ではないようです。最終的には、バックエンドスレッドが消費され、フロントエンドスレッドはいずれにしても待機する必要があります。あなたが言ったことを考えれば、 '@ Asynchronous'を使うのがおそらく最も良いでしょう。 –