我有一个非常简单的String类型的缓存,Infinispan中的Long。我想将此缓存保存到cassandra。
我已经安装了Infinispan 7.1 Server,并且我正在运行cassandra实例。
我查看了http://infinispan.org/docs/cachestores/cassandra/,其中列出了两个xml摘录。由于我是Infinispan的新手,我不知道在哪里添加列出的xml。
是否有一个示例Infinispan 7.1服务器安装在哪里安装和工作?
编辑1:
我可以通过定义myCache来使用基于文件的持久性,如下所示:
<subsystem xmlns="urn:infinispan:server:core:7.1" default-cache-container="clustered">
<cache-container name="clustered" default-cache="default" statistics="true">
<transport executor="infinispan-transport" lock-timeout="60000"/>
<distributed-cache name="myCache" mode="SYNC" start="EAGER">
<file-store
shared="false" preload="true"
fetch-state="true"
read-only="false"
purge="false"
path="${java.io.tmpdir}">
<write-behind flush-lock-timeout="15000" thread-pool-size="5" />
</file-store>
</distributed-cache>
</cache-container>
</subsystem>
xml的架构定义了一个&#34; store&#34;扩展&#34;自定义存储&#34;的元素。
<xs:element name="store" type="tns:custom-store">
Sooo ...我想我需要研究它的架构,看看我如何创建一个Cassandra商店。
我总是感觉自己做错了什么,因为我找不到任何人使用这个xml的例子......
编辑2
使用以下内容替换文件存储:
<store
name="cassandraStore"
class="org.infinispan.loaders.cassandra.CassandraCacheStore"
shared="true" preload="false" passivation="false"
fetch-state="true">
<property name="host">localhost</property>
<property name="keySpace">mykeyspace</property>
<property name="entryColumnFamily">mytable</property>
<property name="expirationColumnFamily">mytableExpiration</property>
<property name="sharedKeyspace">false</property>
<property name="readConsistencyLevel">ONE</property>
<property name="writeConsistencyLevel">ONE</property>
<property name="configurationPropertiesFile">cassandrapool.properties</property>
<property name="keyMapper">org.infinispan.loaders.keymappers.DefaultTwoWayKey2StringMapper</property>
</store>
当我启动infinispan服务器时,我得到了
&#34; JBAS010292:org.infinispan.loaders.cassandra.CassandraCacheStore不是有效的缓存存储&#34;
查看http://mvnrepository.com/artifact/org.infinispan/infinispan-cachestore-cassandra我看到最新版本是 2013
的7月份的6.0.0.Alpha1我认为这里的结论是: Infinispan不支持Cassandra。