我正在使用RMI类型的复制 当两个缓存节点都在同一主机上时,我有ehcache复制工作。
但是当我在同一个域中有两个不同的主机时,问题就出现了,复制失败了。
Windows 8上的一个缓存节点和CentOS 6上的其他缓存节点。
我不确定在Linux机器上启用多播的设置是什么。
我也试过手动发现,但程序只是卡住了。 ehcache.xml片段:
<cacheManagerPeerProviderFactory class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory" properties="peerDiscovery=automatic, multicastGroupAddress=230.0.0.1, multicastGroupPort=4446, timeToLive=32"/>
<cacheManagerPeerListenerFactory class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory" properties="hostName=10.30.10.439, port=40001, socketTimeoutMillis=2000"/>
<defaultCache
maxBytesLocalHeap="256000000"
eternal="false"
timeToIdleSeconds="120"
timeToLiveSeconds="120"
overflowToDisk="false"
maxElementsOnDisk="10000000"
diskPersistent="false"
diskExpiryThreadIntervalSeconds="120"
memoryStoreEvictionPolicy="LRU"
/>
<!-- temp config: in memory cache, expire after the session is idle for 10 minutes -->
<cache name="ssoSessionStore"
maxBytesLocalHeap="64000000"
eternal="false"
timeToIdleSeconds="600"
timeToLiveSeconds="0"
overflowToDisk="false"
maxElementsOnDisk="20000"
diskPersistent="false"
diskExpiryThreadIntervalSeconds="120"
memoryStoreEvictionPolicy="LRU">
<cacheEventListenerFactory
class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
properties="replicateAsynchronously=true
asynchronousReplicationIntervalMillis=100"
propertySeparator=","
/>
<bootstrapCacheLoaderFactory
class="net.sf.ehcache.distribution.RMIBootstrapCacheLoaderFactory"
properties="bootstrapAsynchronously=true, maximumChunkSizeBytes=5000000"
propertySeparator="," />
</cache>
类似的ehcache.xml我在具有不同IP地址的其他节点上配置,保持多播地址相同。
我不确定我缺少什么设置。 请建议。