0

所以标题说明了一切,当在由 Java EE Con​​tainer 执行的方法的异步调用过程中,调用了另一个也用 @Asynchronous 注释的方法时会发生什么。我希望还会有一个异步调用。但是规范没有说明这一点,所以这也可能是应用程序服务器供应商特定的吗?

目前我正在分析在 Websphere 中运行的 Java EE 应用程序的性能。我在方法树中清楚地看到第二个异步方法实际上将被同步调用。这对我来说实际上很有意义,因为我们已经处于某种异步上下文中,所以我们可以立即执行它,而不是提交新任务。

对此有任何想法吗?

4

1 回答 1

0

这行得通。第二次调用只会将执行该方法的请求发布到 AS 维护的某个内部队列。

但是......在等待第二种方法可能返回的任何 Future 的结果时要非常小心。如果第二种方法是 void 方法,它总是安全的。

于 2013-10-29T17:42:28.457 回答