所以标题说明了一切,在Java EE容器执行的方法的异步调用期间发生的情况是,调用另一个也使用@Asynchronous注释的方法。我希望还会有一个异步调用。但是规范没有说明这一点,那么这也可能是Application sever供应商特定的吗?
目前,我正在分析在Websphere中运行的Java EE应用程序的性能。我清楚地在方法树中看到第二个异步方法实际上将被同步调用。这实际上对我有意义,因为我们已经处于某种异步上下文中,所以我们可以立即执行它而不是提交新任务。
对此有何想法?
答案 0 :(得分:0)
这很有效。第二个调用只是将执行该方法的请求发布到AS维护的某个内部队列。
但是......要非常小心等待第二种方法可能返回的任何Future的结果。如果第二种方法是无效方法,那么它总是安全的。