Springboot中的Ehcache RMI复制无法正常工作

时间:2018-05-14 11:42:57

标签: ehcache

我正在使用ehcache 2.6.8并在spring 1.5上运行。下面是我的ehcache xml。我有两个节点,代码部署在linux框中的tomcat服务器中。

下面是我在我的应用程序中使用的ehcache.xml。

<ehcache name="ehCacheConfig">

  <!--disk location where cache will be stored; currently default tmp file path   -->
    <diskStore path="java.io.tmpdir"/>
    <!-- cache manager peer provider -->
    <cacheManagerPeerProviderFactory
        class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"
        properties="peerDiscovery=automatic, multicastGroupAddress=230.0.0.1, multicastGroupPort=4446, timeToLive=32" />
    <!-- cache manager peer Listener -->
    <cacheManagerPeerListenerFactory
        class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory" 
        properties="port=40001"/>

    <cache
        name="EmpCache"
        maxBytesLocalHeap="150M"
        memoryStoreEvictionPolicy="LFU"
        eternal="false"
        timeToIdleSeconds="3600"
        timeToLiveSeconds="3600"
        diskExpiryThreadIntervalSeconds="120"
        statistics="true"   >
    <persistence strategy="localTempSwap"/>
    <cacheEventListenerFactory
        class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
        properties="replicateAsynchronously=true, replicatePuts=true, replicateUpdates=true,
        replicateUpdatesViaCopy=true, replicateRemovals=true "/>
    </cache> 
</ehcache>

问题:数据正在从节点1复制到节点2.但是当节点2中有任何请求并且数据是缓存时,它不会在节点1中复制,如果我丢失,有人可以告诉我什么?

1 个答案:

答案 0 :(得分:0)

解决了,问题是由于node1的主机文件中的错误输入,其中node1的域名被映射到127.0.0.1 IP。删除这个错误的条目后,它有效。