gpt4 book ai didi

java - CQL JDBC 1.2.5 是否与 cassandra-thrift-2.0.1 和 cassandra-clientutil-2.0.1 兼容?

转载 作者:行者123 更新时间:2023-11-30 11:28:01 25 4
gpt4 key购买 nike

刚刚接触 Cassandra。设置版本 2.0.1,服务器运行良好,cqlsh 连接并正确执行各种命令,所以我知道基础架构没问题。

我有一个小型 Java 测试程序。我在 OS X 10.8.3 (Darwin) 上使用最新的 Java 7 JDK:

java version "1.7.0_40"
Java(TM) SE Runtime Environment (build 1.7.0_40-b43)
Java HotSpot(TM) 64-Bit Server VM (build 24.0-b56, mixed mode)

因为 Cassandra 2.0.1 需要 Java 7。我从 jdbc wiki 页面中提到的这些库开始:

cassandra-jdbc-1.2.5.jar
apache-cassandra-thrift-2.0.1.jar
apache-cassandra-clientutil-2.0.1.jar

并在调用此代码时

String driverClass = "org.apache.cassandra.cql.jdbc.CassandraDriver";
Class.forName( driverClass ).newInstance();

// mykeyspace was created in the setup example
java.sql.Connection conn = DriverManager.getConnection("jdbc:cassandra://localhost:9160/mykeyspace");

getConnection() 为 org/apache/thrift/TEnum 抛出 java.lang.NoClassDefFoundError。没问题——我在 libthrift-0.9.1.jar 中找到它并将其添加到类路径中。然后我得到 org.apache.cassandra.cql.jdbc.AbstractJdbcType 的 java.lang.NoClassDefFoundError。我为 AbstractJdbcType grep cassandra-jdbc-1.2.5.jar 但找不到。我用 grep 搜索 Abstract,然后我看到了

org/apache/cassandra/cql/jdbc/AbstractConnection.class
org/apache/cassandra/cql/jdbc/AbstractResultSet.class
org/apache/cassandra/cql/jdbc/AbstractStatement.class

我下载了旧版本的 JDBC 库(1.1.2 和 1.2.1),但它们也没有包含 org.apache.cassandra.cql.jdbc.AbstractJdbcType。

谷歌搜索 org.apache.cassandra.cql.jdbc.AbstractJdbcType 显示它在 cassandra-all/1.0.0 版本中?也许吧?

我下载了 1.2.5 源代码并重建了它,但它无法编译,因为 getSchema() 未在 ManagedConnection.java 中被覆盖:

class ManagedConnection extends AbstractConnection implements Connection
...

getSchema() 是 Java 7 java.sql.Connection 中的新功能。

我想我混合了错误版本的 jars、JDK,或者可能是 2.0.1 和 jdbc 1.2.5 不兼容...?任何人都可以命名正确的 jar 集来使用 JDBC 和 v2.0.1 吗?

最佳答案

不,不是。

我检查了 wiki 问题日志。其他人报告说 JDBC 1.2.5 不能针对 2.0 工作。
此外,似乎很多精力都集中在 Datastax native 驱动程序及其之上的(最终的)JDBC 层上。在这项新的努力中,人们对提高性能和去除 Thrift 都很感兴趣。这似乎很可能是 JDBC 连接到 Cassandra 2.0+ 的 future 轨迹

关于java - CQL JDBC 1.2.5 是否与 cassandra-thrift-2.0.1 和 cassandra-clientutil-2.0.1 兼容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19042825/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com