从 CassandraOperations 检索 DataStax 会话
Retrieve DataStax Session from CassandraOperations
Spring 引导数据 Cassandra 移除了从 org.springframework.data.cassandra.core.CassandraOperations
检索 com.datastax.driver.core.Session
的功能。我正在尝试纠正具有这些用法的旧代码。有没有一种简单的方法来检索 cassandra 会话?我正在寻找一种方法来从 Insert
创建准备好的语句,只能访问 CassandraOperations
的实例,例如
cassandraOperations.getSession().prepare(insert);
我们从 CassandraOperations
中删除了 getSession()
,原因有二:
- 接口分为
CassandraOperations
和 CqlOperations
。 CassandraTemplate
(实现 CassandraOperations
)现在使用 CqlOperations
作为较低级别的 API。
- 我们引入了
SessionFactory
以便能够将 CQL 调用路由到各种 Cassandra Session
。 CQL 执行从配置的 SessionFactory
中获取会话。在执行调用期间会话被认为是有效的,因为下一个命令可以在不同的会话上执行。
你仍然可以获得Session
。要么调用:
CqlTemplate cqlTemplate = (CqlTemplate) cassandraTemplate.getCqlOperations();
cqlTemplate.getSession();
或通过Spring的上下文获取Session
(自动装配,通过context.getBean(Session.class)
查找,……)。
Spring 引导数据 Cassandra 移除了从 org.springframework.data.cassandra.core.CassandraOperations
检索 com.datastax.driver.core.Session
的功能。我正在尝试纠正具有这些用法的旧代码。有没有一种简单的方法来检索 cassandra 会话?我正在寻找一种方法来从 Insert
创建准备好的语句,只能访问 CassandraOperations
的实例,例如
cassandraOperations.getSession().prepare(insert);
我们从 CassandraOperations
中删除了 getSession()
,原因有二:
- 接口分为
CassandraOperations
和CqlOperations
。CassandraTemplate
(实现CassandraOperations
)现在使用CqlOperations
作为较低级别的 API。 - 我们引入了
SessionFactory
以便能够将 CQL 调用路由到各种 CassandraSession
。 CQL 执行从配置的SessionFactory
中获取会话。在执行调用期间会话被认为是有效的,因为下一个命令可以在不同的会话上执行。
你仍然可以获得Session
。要么调用:
CqlTemplate cqlTemplate = (CqlTemplate) cassandraTemplate.getCqlOperations();
cqlTemplate.getSession();
或通过Spring的上下文获取Session
(自动装配,通过context.getBean(Session.class)
查找,……)。