我正在使用 java datastax 驱动程序。我有一个 ServletContextListener,它在通过调用 Cluster.shutdown() 销毁的上下文中关闭 datastax Cluster 对象。问题是它需要 shutdown() 几分钟才能返回。
Cluster.shutdown() 有一个覆盖,您可以在其中指定超时值。我似乎找不到任何关于不使用关闭值的文档,并且当我指定一毫秒的超时时间时,集群或多或少会立即关闭(如预期的那样)。
所以,我的问题是,如果我只是在 servlet 关闭时才关闭集群,我是否有理由等待返回?似乎通过指定超时,它本质上是在调用异步关闭,这应该是可以的,但我不想引入内存泄漏或任何不稳定。
我对 Cassandra/datastax 还是很陌生,所以如果在某处说明了有关使用超时的信息,那么将我指向那个方向会很棒!
TIA, wbj