从CassandraOperations检索DataStax会话

时间:2018-10-30 19:49:00

标签: spring-boot cassandra spring-data-cassandra

Spring Boot数据Cassandra已删除从com.datastax.driver.core.Session检索org.springframework.data.cassandra.core.CassandraOperations的功能。我正在尝试纠正具有这些用法的旧代码。是否有检索cassandra会话的简单方法?我正在寻找一种从Insert创建准备好的语句的方法,该方法只能访问CassandraOperations的实例,例如

cassandraOperations.getSession().prepare(insert);

1 个答案:

答案 0 :(得分:1)

由于以下两个原因,我们从getSession()中删除了CassandraOperations

  • 接口分为CassandraOperationsCqlOperationsCassandraTemplate(实现CassandraOperations)现在使用CqlOperations作为较低级别的API。
  • 我们引入了SessionFactory,以便能够将CQL呼叫路由到各种Cassandra Session中。 CQL执行从已配置的SessionFactory获取会话。会话在执行调用期间被视为有效,因为下一个命令可以在其他会话上执行。

您仍然可以获得Session。可以致电:

CqlTemplate cqlTemplate = (CqlTemplate) cassandraTemplate.getCqlOperations();
cqlTemplate.getSession();

或通过Spring的上下文获取Session(自动装配,通过context.getBean(Session.class)进行查找,...)。

相关问题