Java spring数据cassandra CassandraBatchTemplate不是公共的
我想使用CassandraBatchTemplate的withTimestamp插入客户端时间戳,就像在CQL中使用timestamp子句一样。这是我的密码:Java spring数据cassandra CassandraBatchTemplate不是公共的,java,cassandra,spring-data-cassandra,Java,Cassandra,Spring Data Cassandra,我想使用CassandraBatchTemplate的withTimestamp插入客户端时间戳,就像在CQL中使用timestamp子句一样。这是我的密码: @Bean public DseSession dseSession(DseCluster dseCluster) { return dseCluster.connect(keyspace); } @Bean public CassandraOperations cassandraTemplate(DseSe
@Bean
public DseSession dseSession(DseCluster dseCluster) {
return dseCluster.connect(keyspace);
}
@Bean
public CassandraOperations cassandraTemplate(DseSession session) {
return new CassandraTemplate(session);
}
@Bean
public CassandraBatchOperations cassdraBatchTemplate(CassandraOperations cassandraTemplate) {
return new CassandraBatchTemplate(cassandraTemplate);
}
编译时,它无法找到CassandraBatchTemplate,即使我可以在spring数据cassandra源代码中看到它。我注意到的一点是CassandraBatchTemplate是接口CassandraBatchOperations的默认实现,因此没有“public”应用于CassandraBatchTemplate类:
class CassandraBatchTemplate implements CassandraBatchOperations {...}
如果该类不是公共的,那么我不能通过“new”创建它的实例。如何工作?我使用的是spring数据cassandra 2.1.10.RELEASE和dse java驱动程序core 1.8.2,CassandraBatchTemplate不是公共的,因为它的生命周期非常有限。它不打算用作@Bean,因为它只对单个执行有效
而是通过CassandraOperations.batchOps获取CassandraBatchOperations