Infinispan 7.1 Cassandra cache-store

戏子无情 提交于 2020-01-25 11:03:06

问题


I have a very simple cache of type String, Long in Infinispan. I would like to persist this cache to cassandra.

I have installed Infinispan 7.1 Server and I have a cassandra instance running.

I've looked at http://infinispan.org/docs/cachestores/cassandra/ which lists two xml excerpts. Since I am completely new to Infinispan, I have no idea where to add the listed xml.

Is there an example Infinispan 7.1 server installation somewhere where this is setup and working?

EDIT 1:

I am able to use file based persistence by defining myCache as follows:

<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>

The schema for the xml defines a "store" element that extends "custom-store".

<xs:element name="store" type="tns:custom-store">

Sooo... I guess I need to study its schema to see how I can create a Cassandra store.

I have a constant feeling I'm doing something wrong because I can find no examples of anyone using this xml...

EDIT 2

Replaced file-store with the following:

<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>

When I start infinispan server I get

"JBAS010292: org.infinispan.loaders.cassandra.CassandraCacheStore is not a valid cache store"

Looking at http://mvnrepository.com/artifact/org.infinispan/infinispan-cachestore-cassandra I see the latest version is 6.0.0.Alpha1 from July of 2013

I think the conclusion here is: Cassandra is not supported by Infinispan.

来源:https://stackoverflow.com/questions/29797328/infinispan-7-1-cassandra-cache-store

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!