编程语言
首页 > 编程语言> > Java – 在Coldfusion中使用Apache Cassandra

Java – 在Coldfusion中使用Apache Cassandra

作者:互联网

我正在尝试在我使用Coldfusion进行编码的项目中使用Apache Cassandra.由于Coldfusion没有Apache Cassandra的驱动程序,反之亦然,我试图使用Cassandra的Java驱动程序.

我几乎是一个Java新手所以请耐心等待.

我已经设法将必要的.jar文件复制到/ opt / railo / lib /(我正在使用Railo),并使用下面的代码设法使用Coldfusion连接到Cassandra.我需要帮助的是循环查看Cassandra在运行查询时返回的结果.我在下面列出了非常简单的代码:

<cfset MyClusterInit = CreateObject("java", "com.datastax.driver.core.Cluster")>
<cfset MyCluster = MyClusterInit.builder().addContactPoint("127.0.0.1").build()>
<cfset MySession = MyCluster.connect("mytest")>
<cfset GetCustomer = MySession.execute("SELECT * FROM customer")>
<cfdump var="#GetCustomer#">

如何循环返回的结果? cfdump返回Java方法ArrayBackedResultSet $SinglePage.这不是我可以使用Coldfusion循环的东西.

从“Cassandra和Java入门”帖子中,我看到如下代码:

ResultSet results = session.execute("SELECT * FROM users WHERE lastname='Jones'");
for (Row row : results) {
System.out.format("%s %d\n", row.getString("firstname"), row.getInt("age"));
}

我如何在Coldfusion中复制上述内容?

非常感谢您抽出宝贵时间提供帮助.

解决方法:

正如上面的Leigh和Mark A Kruger所指出的,使用JDBC驱动程序是连接Coldfusion / Railo中Cassandra的更智能的方法.只需按照以下说明操作:

>在https://code.google.com/a/apache-extras.org/p/cassandra-jdbc/下载JDBC驱动程序.它适用于最新版本的Cassandra(撰写本文时)
>确保还下载Cassandra JDBC依赖项
>将jar文件复制到Coldfusion lib目录
>重新启动Coldfusion / Railo
>创建数据源类型“其他”
>对于Driver Class,输入“org.apache.cassandra.cql.jdbc.CassandraDriver”
>连接字符串应为“jdbc:cassandra:// host1 – host2 – host3:9160 / keyspace1?primarydc = DC1& backupdc = DC2& consistency = QUORUM”
>就是这样!您现在可以像查询任何其他数据库一样查询Cassandra

不仅.我设法让Java驱动程序直接工作,JDBC驱动程序的性能比直接调用Java驱动程序要好得多.我的测试只是一个非常简单的表,有3条记录,使用Java直接连接需要50ms,而使用JDBC驱动程序需要不到5ms.

感谢Leigh和Mark A Kruger提示!

标签:java,coldfusion,cassandra,cassandra-2-0
来源: https://codeday.me/bug/20190528/1172444.html