【问题标题】:Spring XD 1.3.1 stream with Cassandra 3.0Spring XD 1.3.1 流与 Cassandra 3.0
【发布时间】:2017-07-06 17:37:51
【问题描述】:

我正在使用 Cassandra 3.0.11 附带的 DSE 5.0.5

我正在尝试使用 Spring XD 1.3.1 连接到 Cassandra

我有一个处理数据的处理器模块和一个实际接收数据的接收器。

我正在尝试创建如下流

stream create --name ingestion-stream --definition "http --port=9020 

|ingestion-transformer| cassandra-3 --contactPoints='1.2.3.4.' --

keyspace='mykeyspace' --ingestQuery='insert into table1(column1,column2,column3) 

values (?,?,?)'" --deploy

injection-stream 是名称,ingestion-transformer 是转换数据的模块。我几乎可以肯定它没有问题。

但是在作为接收器模块的“cassandra-3”中,我遇到了问题

流创建失败,日志中出现以下错误

2017-02-17T12:45:21+0530 1.3.1.RELEASE 错误 DeploymentsPathChildrenCache-0 boot.SpringApplication - 应用程序 启动失败

--然后有很多错误码----

引起:org.springframework.beans.BeanInstantiationException: 实例化失败 [org.springframework.data.cassandra.mapping.CassandraMappingContext]: 涉及包含 bean 'cassandraConfiguration' 的循环引用 - 考虑将工厂方法声明为静态以独立于其包含的实例。工厂方法“cassandraMapping”抛出 例外;嵌套异常是 java.lang.NoClassDefFoundError: could 不初始化类 org.springframework.data.cassandra.mapping.CassandraSimpleTypeHolder

我的 Sink 模块正在使用

cassandra-driver-core-3.0.0.jar 和 cassandra-driver-dse-3.0.0-alpha5.jar

我也把这两个放在xd/lib/里了

在 Cassandra 2.2.5 和 Spring XD 1.3.0 上运行良好

【问题讨论】:

    标签: spring spring-xd spring-data-cassandra


    【解决方案1】:

    Apache Cassandra 1.4.x 及更早版本的 Spring Data 不适用于 cassandra-driver-core-3.x 及更高版本。 Spring Data for Apache Cassandra 1.4.x 仅支持驱动程序版本 2.1。

    Apache Cassandra 1.5.x 的 Spring Data 支持 cassandra-driver-core-3.x 及更高版本。

    从 2.1 到 3.x 的驱动程序升级带来了一系列重大更改,这就是您在应用程序启动时遇到异常的原因。

    【讨论】:

    • 感谢您的回复。有什么办法可以在 Spring XD 中将 Cassandra 1.4.x 升级到 1.5.x 吗?
    • 另外,有没有计划在 Spring-XD 版本中包含 spring-data-cassandra 1.5.x 集成?
    猜你喜欢
    • 2016-12-23
    • 2014-11-05
    • 1970-01-01
    • 2016-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-21
    相关资源
    最近更新 更多