如何使用 Cassandra DB 中的 Spring Integration Channel 和 CachedPreparedStatementCreator 类取消长时间运行的查询,其中同时线程在并行调用中访问数据库,从而减少等待调用取消所需的时间?
我在后期阶段进行超时,收集 Completables Futures 中的数据并使 Futures 超时,并且还使用自定义异步线程池任务执行器,以便在超出指定时间间隔后杀死线程,而且我也有应用了整体数据库读取超时和查询读取超时。
默认情况下,Cassandra Java 驱动程序仅等待协调器在 2 秒内响应。否则它会抛出
DriverTimeoutException
。
您可以通过在类路径中放置一个
application.conf
文件来配置它,配置如下:
datastax-java-driver {
basic.request {
timeout = 2 seconds
}
}
详情请参阅Java驱动参考配置。干杯!