Infinispan 7.1 JDBC缓存存储 - 缺少依赖项

时间:2015-04-28 10:18:15

标签: jdbc cassandra infinispan

我试图在Infinispan 7.1服务器中设置jdbc缓存存储。我之前尝试使用cassandra-cache-store,但显然不再支持它(参见:Infinispan 7.1 Cassandra cache-store)。

有一个cassandra-jdbc驱动程序(https://code.google.com/a/apache-extras.org/p/cassandra-jdbc/)可用,它可以自行运行。我能够成功执行对cassandra的查询。

所以我想尝试使用这个驱动程序在cassandra上设置一个jdbc缓存存储。

这是我的配置:

    <subsystem xmlns="urn:jboss:domain:datasources:2.0">
        <datasources>
            <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
                <connection-url>jdbc:cassandra://localhost:9160/mykeyspace</connection-url>
                <driver>org.apache.cassandra.cql.jdbc.CassandraDriver</driver>
            </datasource>
        </datasources>
    </subsystem>
    ...
    <subsystem xmlns="urn:infinispan:server:core:7.1">
        <cache-container name="clustered" default-cache="default" statistics="true">
            ...
            <distributed-cache name="myCounts" mode="SYNC" start="EAGER">
                <string-keyed-jdbc-store name="STRING_KEYED_JDBC_STORE" datasource="java:jboss/datasources/ExampleDS" fetch-state="false" purge="false" read-only="false">
                    <string-keyed-table>
                        <id-column name="id" type="VARCHAR(255)"/>
                        <data-column name="count" type="BIGINT"/>
                    </string-keyed-table>
                </string-keyed-jdbc-store>
            </distributed-cache>
        </cache-container>
    </subsystem>

cassandra-jdbc驱动程序由1个jar(cassandra-jdbc-2.1.1.jar)和11个依赖jar组成。我已将这些添加到standalone / lib / ext /(不知道这是不是正确的地方,因为文档没有解释这个)。

我在启动时收到此错误:

ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) JBAS014613: Operation ("add") failed - address: ([
    ("subsystem" => "datasources"),
    ("data-source" => "ExampleDS")
]) - failure description: {"JBAS014771: Services with missing/unavailable dependencies" => [
    "jboss.driver-demander.java:jboss/datasources/ExampleDS is missing [jboss.jdbc-driver.org_apache_cassandra_cql_jdbc_CassandraDriver]",
    "jboss.data-source.java:jboss/datasources/ExampleDS is missing [jboss.jdbc-driver.org_apache_cassandra_cql_jdbc_CassandraDriver]"
]}

我错过了什么?

1 个答案:

答案 0 :(得分:0)

您可以在Infinispan服务器上按these EAP instructions to install a JDBC driver as a core module安装Cassandra JDBC驱动程序,因为基本服务器的工作方式相同。