如何使用 Spring 运行 异步查询
how to run asynchronous queries with Spring
我需要使用 Spring 框架来使用异步查询。我使用来自 Datastax 的 Cassandra 和 Java 驱动程序。如何调用 executeAsync 方法并获取结果。
我想到了 3 种可能的解决方案:
executeAsync
returns ResultSetFuture
其中有 isDone
方法,你可以有 while loop with
!isDoneand jump to some block when it returns
truein
完成`
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.
- 您可以尝试类似的方法,但使用 Guava 库中的
ListenableFuture
,因为 ResultSetFuture
的扩展如 this Whosebug question 中所述
我认为第三个选项是最干净的方法。
我需要使用 Spring 框架来使用异步查询。我使用来自 Datastax 的 Cassandra 和 Java 驱动程序。如何调用 executeAsync 方法并获取结果。
我想到了 3 种可能的解决方案:
executeAsync
returnsResultSetFuture
其中有isDone
方法,你可以有while loop with
!isDoneand jump to some block when it returns
truein
完成`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.
- 您可以尝试类似的方法,但使用 Guava 库中的
ListenableFuture
,因为ResultSetFuture
的扩展如 this Whosebug question 中所述
我认为第三个选项是最干净的方法。