scalardb - 我可以将现有的 Cassandra 会话传递给 TransactionService 吗?
问题描述
在 Scalardb 中,
TransactionService
每次我实例化它时都会创建一个新会话吗?我可以
TransactionService
在应用程序启动时创建一个并在整个应用程序生命周期中使用相同的会话吗?如果连接中断,TransactionService 会抛出我的应用程序可以处理并尝试重新连接的异常吗?
解决方案
- 在 Scalardb 中,每次实例化 TransactionService 时都会创建一个新会话吗?
TransactionService
如果使用 Guice 正确创建Session,那么一旦创建,它总是会被重用,因为它被配置为单例。(这也是第二个问题的答案)
- 如果连接中断,TransactionService 会抛出我的应用程序可以处理并尝试重新连接的异常吗?
连接将自动重新建立,因此您不必担心。(由 datastax java 驱动程序负责)