spring-data-cassandra CassandraBatchTemplate 不是 public
spring-data-cassandra CassandraBatchTemplate is not public
我想使用 CassandraBatchTemplate 的 withTimestamp 在 CQL 中插入客户端时间戳,例如 USING TIMESTAMP 子句。这是我的代码:
@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-data-cassandra 源代码中看到它。我注意到的一件事是 CassandraBatchTemplate 是接口 CassandraBatchOperations 的默认实现,因此没有 'public' 应用于 CassandraBatchTemplate class:
class CassandraBatchTemplate implements CassandraBatchOperations {...}
如果 class 不是 public,那么我无法通过 'new' 创建它的实例。如何解决?我正在使用 spring-data-cassandra 2.1.10.RELEASE 和 dse-java-driver-core 1.8.2
CassandraBatchTemplate
不是 public 因为它的生命周期非常有限。它不打算用作 @Bean
因为它只对单次执行有效。
相反,通过CassandraOperations.batchOps()
获得CassandraBatchOperations
。
我想使用 CassandraBatchTemplate 的 withTimestamp 在 CQL 中插入客户端时间戳,例如 USING TIMESTAMP 子句。这是我的代码:
@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-data-cassandra 源代码中看到它。我注意到的一件事是 CassandraBatchTemplate 是接口 CassandraBatchOperations 的默认实现,因此没有 'public' 应用于 CassandraBatchTemplate class:
class CassandraBatchTemplate implements CassandraBatchOperations {...}
如果 class 不是 public,那么我无法通过 'new' 创建它的实例。如何解决?我正在使用 spring-data-cassandra 2.1.10.RELEASE 和 dse-java-driver-core 1.8.2
CassandraBatchTemplate
不是 public 因为它的生命周期非常有限。它不打算用作 @Bean
因为它只对单次执行有效。
相反,通过CassandraOperations.batchOps()
获得CassandraBatchOperations
。