如何在 Cassandra DB 中使用 Spring 取消长时间运行的查询?

问题描述 投票:0回答:1

如何使用 Cassandra DB 中的 Spring Integration Channel 和 CachedPreparedStatementCreator 类取消长时间运行的查询,其中同时线程在并行调用中访问数据库,从而减少等待调用取消所需的时间?

我在后期阶段进行超时,收集 Completables Futures 中的数据并使 Futures 超时,并且还使用自定义异步线程池任务执行器,以便在超出指定时间间隔后杀死线程,而且我也有应用了整体数据库读取超时和查询读取超时。

java spring multithreading jdbctemplate cassandra-3.0
1个回答
0
投票

默认情况下,Cassandra Java 驱动程序仅等待协调器在 2 秒内响应。否则它会抛出

DriverTimeoutException

您可以通过在类路径中放置一个

application.conf
文件来配置它,配置如下:

datastax-java-driver {
  basic.request {
    timeout = 2 seconds
  }
}

详情请参阅Java驱动参考配置。干杯!

© www.soinside.com 2019 - 2024. All rights reserved.