Java 当@Asynchronous方法调用另一个@Asynchronous方法时会发生什么?

Java 当@Asynchronous方法调用另一个@Asynchronous方法时会发生什么?,java,jakarta-ee,asynchronous,ejb,websphere,Java,Jakarta Ee,Asynchronous,Ejb,Websphere,因此,标题说明了这一切,在JavaEE容器执行的方法的异步调用过程中,调用另一个同样用@asynchronous注释的方法时会发生什么。我希望还会有一次异步调用。但是,规范没有对此做任何说明,因此这是否也可能是特定于应用服务器供应商的 目前,我正在分析在Websphere中运行的JavaEE应用程序的性能。我在方法树中清楚地看到,第二个异步方法实际上将被同步调用。这实际上对我来说是有意义的,因为我们已经处于某种异步上下文中,所以我们不必提交新任务,而可以立即执行它 对此有什么想法吗?这很有效。第

因此,标题说明了这一切,在JavaEE容器执行的方法的异步调用过程中,调用另一个同样用@asynchronous注释的方法时会发生什么。我希望还会有一次异步调用。但是,规范没有对此做任何说明,因此这是否也可能是特定于应用服务器供应商的

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


对此有什么想法吗?

这很有效。第二个调用只是将执行该方法的请求发布到AS维护的某个内部队列


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

第二个异步方法应该与第一个异步。能否显示同步调用第二个方法的堆栈跟踪?这将是一个产品缺陷。问题是我正在分析的应用程序来自我们的一个客户,因此我无法发布任何堆栈跟踪或类似的应用程序敏感内容。您可以替换他们的类/方法(如com.example.Xyz.method1)吗?第二个方法与第一个方法在同一个SB上吗?