我正在尝试理解Datastax Cassandra Driver中的连接池,以便更好地在我的Web服务中使用它。
我有文档版本1.0。文档中写道:
Java驱动程序异步使用连接,因此可以在同一连接上同时提交多个请求。
他们对连接的理解是什么?连接到集群时,我们有:Builder、Cluster和Session。它们中的哪一个是连接?
例如,有这个参数:
maxSimultaneousRequestsPerConnection——所有连接到主机的并发请求数量,超过该数量后会创建更多连接。
所以,在连接池的情况下,这些连接是自动创建的(这是我期望的)。但是这些连接到底是什么?Cluster对象?Sessions?
我正在尝试决定在我的Web服务中什么应该保持“静态”。目前,我决定将Builder保持静态,因此每次调用时我都会创建一个新的Cluster和一个新的Session。这样做可以吗?如果Cluster就是连接,那应该可以。但是呢?现在,日志器在每次调用时都显示:
2013:12:06 12:05:50 DEBUG Cluster:742 - Starting new cluster with contact points
2013:12:06 12:05:50 DEBUG ControlConnection:216 - [Control connection] Refreshing node list and token map
2013:12:06 12:05:50 DEBUG ControlConnection:219 - [Control connection] Refreshing schema
2013:12:06 12:05:50 DEBUG ControlConnection:147 - [Control connection] Successfully connected to...
那么,它每次都连接到Cluster吗?这不是我想要的,我想重用连接。
所以,连接实际上就是Session吗?如果是这样的话,我应该将Cluster保持静态,而不是Builder。
我应该调用哪个方法,以确保在可能的情况下重用连接?