当前位置: 首页 > 知识库问答 >
问题:

Spring Boot与卡珊德拉3.x驱动程序

顾烨磊
2023-03-14

我用的是Spring boot < code > 1 . 3 . 8 . release 。为了使用cassandra 3.x驱动程序,我尝试了如下方法:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-cassandra</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.springframework.data</groupId>
                <artifactId>spring-data-cassandra</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-cassandra</artifactId>
        <version>1.4.0.RELEASE</version>
        <exclusions>
            <exclusion>
                <groupId>com.datastax.cassandra</groupId>
                <artifactId>cassandra-driver-core</artifactId>
            </exclusion>
            <exclusion>
                <groupId>com.datastax.cassandra</groupId>
                <artifactId>cassandra-driver-dse</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.datastax.cassandra/cassandra-driver-core -->
    <dependency>
        <groupId>com.datastax.cassandra</groupId>
        <artifactId>cassandra-driver-core</artifactId>
        <version>3.1.0</version>
    </dependency>

但我出错了;

Caused by: java.lang.NoSuchMethodError: com.datastax.driver.core.DataType.asJavaClass()Ljava/lang/Class;
at org.springframework.data.cassandra.mapping.CassandraSimpleTypeHolder.<clinit>(CassandraSimpleTypeHolder.java:62) ~[spring-data-cassandra-1.4.0.RELEASE.jar:?]

我在https://github.com/spring-projects/spring-boot/issues/5835,有一个帖子;

在Spring Data Cassandra 1.5(Ingalls)中采用Cassandra3更改不会对Spring Boot造成破坏性更改。已使用Boot 1.3.3和1.4.0-SNAPSHOT测试升级。

不是应该像上面那样吗?我哪里错了?

注意:我正在尝试这个例子:https://github . com/spring-projects/spring-boot/tree/master/spring-boot-samples/spring-boot-sample-data-Cassandra

共有1个答案

利博远
2023-03-14

Spring数据卡桑德拉1.4.0.发布取决于

如果您想使用Cassandra 3. x,您应该升级到sping-boot 1.5. x以从sping-boot-starter-data-cassandra: 1.5. x受益,具体取决于

从pom文件中删除Cassandra驱动程序依赖关系。Spring boot将提供正确的版本

 类似资料:
  • 请看下面的代码,让我知道我哪里做错了? 使用: DSE版本-5.1.0 172.31.16.45:9042连接到测试群集。[cqlsh 5.0.1|Cassandra3.10.0.1652|DSE 5.1.0|CQL规范3.4.4|本地协议v4]使用HELP寻求帮助。 谢谢 斯卡拉 斯卡拉 斯卡拉 我在这里什么都得不到?甚至没有错误。

  • DSE版本4.8.2 我用数据向集群添加了6个新节点,并将bootstrap:false。他们加入后,我正在对每一个进行重建。我相信1NODE已完成,但控制台上的命令仍在“运行”(例如,我还无法运行另一个命令)。我想确保它完全完成。该单元没有压实,也没有活动的溪流。更新:现在已经4天了,仍然处于命令提示符下。 除了compationstats和netstats,还有什么我可能缺少的吗?我看到它流式

  • 我正在尝试使用Cassandra 2.1升级到Spring Data Cassandra 1.5. x的Spring Boot 1.5,但出现启动错误: 未能实例化[org.springframework.data.cassandra.mapping.CassandraMappingContext]:工厂方法“cassandraMapping”引发异常;嵌套异常为java.lang.NoClass

  • 我有一个非常简单的集群,有2个节点。我创建了一个具有简单策略复制和复制因子为2的密钥空间。对于读取和写入,我总是使用默认数据一致性级别 ONE。 如果我使用datastax java驱动程序取下两个节点中的一个,我仍然可以读取数据,但当我尝试写入时,我得到“没有足够的副本可用于一致性为1的查询(需要1个副本,但只有0个副本)”。 奇怪的是,如果我使用CQL控制台执行完全相同的insert语句,它就

  • 我有一个. net核心应用程序,它通过DataStax驱动程序将数据持久化到Cassandra实例。 我为我的Cassandra实体创建了一个基类。现在,如果我想把我的TimeUUID类型ID放入这个基类,当插入时,我得到错误: 同样的方法在EntityFramework中也适用。问题也不在于我的表、连接或键空间,因为当我将id字段返回到entty本身时,它就起作用了。 我的插入方法 我的基类 继

  • 引用这篇文章: http://www.datastax.com/dev/blog/4-simple-rules-when-using-the-datastax-drivers-for-cassandra Cassandra的存储引擎进行了优化,以避免存储不必要的空列,但是当使用预准备语句时,那些未提供的参数会导致空值被传递给Cassandra(从而存储墓碑)。目前,这种情况的唯一解决方法是为最常见