0

Java EE Con​​tainer によって実行されるメソッドの非同期呼び出し中に、@Asynchronous アノテーションが付けられた別のメソッドへの呼び出しがあるとどうなるかは、タイトルがすべてを物語っています。非同期呼び出しがもう 1 つあると思います。ただし、仕様ではこれについて何も述べられていないため、これはアプリケーション サーバー ベンダー固有のものでしょうか?

現在、Websphere で実行される Java EE アプリケーションのパフォーマンスを分析しています。そして、メソッド ツリー内で、2 番目の非同期メソッドが実際に同期的に呼び出されることがはっきりとわかります。これは実際には理にかなっています。なぜなら、私たちはすでにある種の非同期コンテキストにいるので、新しいタスクを送信する代わりに、すぐに実行できるからです..

これについて何か考えはありますか?

4

1 に答える 1

0

これは機能します。2 番目の呼び出しは、そのメソッドを実行する要求を、AS が保持する内部キューにポストするだけです。

しかし... 2 番目のメソッドが返す可能性のある Future からの結果を待機する場合は、十分に注意してください。2 番目のメソッドが void メソッドの場合、常に安全です。

于 2013-10-29T17:42:28.457 に答える