我試圖在Infinispan 7.1服務器中設置jdbc緩存存儲。我以前嘗試使用cassandra-cache-store,但顯然它不再受支持(請參閱:Infinispan 7.1 Cassandra cache-store)。Infinispan 7.1 JDBC緩存 - 存儲 - 依賴關係丟失
有一個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>
卡桑德拉-JDBC驅動器由1罐(卡桑德拉-JDBC-2.1.1.jar)和11個依賴性罐子。我已經將這些添加到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]"
]}
我缺少什麼?