【问题标题】:how to run asynchronous queries with Spring如何使用 Spring 运行异步查询
【发布时间】:2015-05-11 21:36:51
【问题描述】:

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

【问题讨论】:

    标签: spring cassandra spring-batch


    【解决方案1】:

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

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

    注册一个监听器以在给定的执行器上运行。听者 将在 Future 的计算完成时运行,或者,如果 计算已经完成,马上。

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

    我认为第三种选择是最干净的方式。

    【讨论】:

      猜你喜欢
      • 2011-12-03
      • 1970-01-01
      • 1970-01-01
      • 2023-04-08
      • 2021-04-30
      • 2018-02-28
      • 1970-01-01
      • 2018-02-12
      • 1970-01-01
      相关资源
      最近更新 更多