如何使用 Spring 运行 异步查询

how to run asynchronous queries with Spring

我需要使用 Spring 框架来使用异步查询。我使用来自 Datastax 的 Cassandra 和 Java 驱动程序。如何调用 executeAsync 方法并获取结果。

我想到了 3 种可能的解决方案:

  1. executeAsync returns ResultSetFuture 其中有 isDone 方法,你可以有 while loop with!isDoneand jump to some block when it returnstruein完成`
  2. ResultSetFuture 中有 addListener,因此您可以注册侦听器,以便在 Future 计算完成后触发

Registers a listener to be run on the given executor. The listener will run when the Future's computation is complete or, if the computation is already complete, immediately.

  1. 您可以尝试类似的方法,但使用 Guava 库中的 ListenableFuture,因为 ResultSetFuture 的扩展如 this Whosebug question
  2. 中所述

我认为第三个选项是最干净的方法。