首页 文章

Infinispan集群

提问于
浏览
2

我需要在分布式模式下形成一个infinispan集群 . 此缓存用于存储会话数据 . 目前我使用的是由Jboss团队的Manik开发的tomcatInfinispanSessionManager .

我已经在分布式模式下创建了infinispan xml,并使用两个tomcats进行测试 . 使用apache作为负载均衡器 . 每台机器都有自己的infinispan缓存条目副本 . 当任何tomcat关闭时,会话将从其他infinispan缓存中检索 .

我的问题是:如何将此缓存条目放入在单独的计算机上运行的infinispan服务器(使用hotrod / memcached)?

2 回答

  • 3

    如果您将remote cache loader添加到您拥有的缓存配置中,它将备份远程Hot Rod服务器中的数据,假设您正确配置了Hot:Hot Rod服务器的IP地址 .

    但是,如果您强烈建议您下载JBoss EAP 6.1,它随附基于Infinispan的集群就绪会话数据存储 . 会话缓存仍然可以使用远程缓存加载器进行配置,但配置会略有不同,因为它使用JBoss EAP配置格式 .

  • 1

    我正在使用ispn 5.1版本并以hotrod模式启动服务器 . 我的缓存配置xml如下 .

    <?xml version="1.0" encoding="UTF-8"?>
    <infinispan xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="urn:infinispan:config:5.3 http://www.infinispan.org/schemas/infinispan-config-5.3.xsd
                           urn:infinispan:config:remote:5.3 http://www.infinispan.org/schemas/infinispan-cachestore-remote-config-5.3.xsd"
        xmlns="urn:infinispan:config:5.3" xmlns:remote="urn:infinispan:config:remote:5.3">
    <global>
            <transport clusterName="tomcatSession">
                <properties>
                    <property name="configurationFile"
                        value="E:/Software/apache-tomcat-7.0.34/conf/jgroups.xml">
                    </property>
                </properties>
            </transport>
            <globalJmxStatistics enabled="true" />
        </global>
        <namedCache name="tc_session_ispn-sess-mgr">
            <clustering mode="distribution">
                <l1 enabled="true" lifespan="600000" />
            </clustering>
            <loaders>
                <remoteStore xmlns="urn:infinispan:config:remote:5.3"
                    fetchPersistentState="false" ignoreModifications="false"
                    purgeOnStartup="false" remoteCache="myCache" rawValues="true">
                    <servers>
                        <server host="10.145.4.172" port="11222" />
                    </servers>
                    <connectionPool maxActive="10" exhaustedAction="CREATE_NEW" />
                    <async enabled="true" />
                </remoteStore>
            </loaders>
        </namedCache>
    </infinispan>
    

    使用此缓存配置xml时,我得到以下异常

    Exception in thread "main" org.infinispan.config.ConfigurationException: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[39,104]
    Message: Unexpected element '{urn:infinispan:config:remote:5.3}remoteStore' encountered
        at org.infinispan.configuration.parsing.Parser.parse(Parser.java:168)
        at org.infinispan.configuration.parsing.Parser.parse(Parser.java:130)
        at org.infinispan.manager.DefaultCacheManager.<init>(DefaultCacheManager.java:368)
        at org.infinispan.manager.DefaultCacheManager.<init>(DefaultCacheManager.java:340)
        at org.infinispan.manager.DefaultCacheManager.<init>(DefaultCacheManager.java:327)
    

    如果我错了,请纠正我并建议如何继续进行?

相关问题