Spring Framework 的 ListenableFuture#addCallback 完成回调由哪个线程执行?

Spring Framework's ListenableFuture#addCallback completion callbacks executed by which thread?

我打算使用 Spring 框架的 ListenableFuture 实现,因为代码将包含在 spring 启动应用程序中。正如他们的文档中所述,它的灵感来自番石榴com.google.common.util.concurrent.ListenableFuture

然而,与番石榴 ListenableFuture when looking at the documentation of the Spring implementation for addCallback 完成 callbacks/listeners 不同,对于两个重载的,都没有提及将在哪个线程上执行 SuccessCallback/FailureCallback/ListenableFutureCallback

这是否意味着它们将默认由完成未来的线程执行?

另外,我担心如果文档中没有明确提及此合同,人们可能会犹豫是否使用它。那么我可能错过了文档中某处的说明吗?

谢谢

对于可能有相同问题的其他人,我想添加观察到的行为(没有正式记录 AFAIK,如果没有,人们可以纠正并指出我)。

我怀疑观察到的行为是由完成未来的线程执行的。

如果 spring 实现提供与 guava 相同的支持,那就太好了,但就目前而言,上述行为就是我们所拥有的。这仍然比 MoreExecutors.directExecutor() 的 guava 默认值要好,后者在调用 execute..

的线程中完成

谢谢