首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >spring-data-cassandra CassandraBatchTemplate不是公共的

spring-data-cassandra CassandraBatchTemplate不是公共的
EN

Stack Overflow用户
提问于 2020-02-14 13:31:29
回答 1查看 93关注 0票数 0

我想使用CassandraBatchTemplate的withTimestamp来插入客户端时间戳,就像在CQL中使用timestamp子句一样。下面是我的代码:

代码语言:javascript
复制
  @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的默认实现,因此没有对CassandraBatchTemplate类应用'public‘:

代码语言:javascript
复制
class CassandraBatchTemplate implements CassandraBatchOperations {...}

如果类不是公共的,那么我不能通过'new‘创建它的实例。如何解决?我使用spring-data-cassandra 2.1.10.RELEASE和dse-java-driver-core 1.8.2

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-17 16:17:55

CassandraBatchTemplate不是公开的,因为它的生命周期非常有限。它不打算用作@Bean,因为它只对一次执行有效。

取而代之的是通过CassandraOperations.batchOps()获取CassandraBatchOperations

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60220517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档