1

ehcache version 2.8.3 is being used in spring-boot. The server to be tested is server A and server B based on linux There are three kinds of cache Below is the ehcache.xml configuration.

<ehcache> 
    <diskStore path="java.io.tmpdir" /> 

    <cacheManagerPeerProviderFactory class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory" 
        properties="peerDiscovery=automatic, multicastGroupAddress=230.0.0.1, multicastGroupPort=40001, 
        timeToLive=1 ,replicatePuts=true,replicatePutsViaCopy=true ,replicateUpdates=true ,replicateUpdatesViaCopy=false,
        replicateRemovals=true ,replicateAsynchronously=false"/> 

    <cacheManagerPeerListenerFactory class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory" 
        properties="socketTimeoutMillis=2000, port=40001"/> 
    <cache name="aCache" 
            maxElementsInMemory="0" 
            eternal="true" 
            timeToIdleSeconds="0" 
            timeToLiveSeconds="0" 
            overflowToDisk="false"> 

        <cacheEventListenerFactory class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"/> 

        <bootstrapCacheLoaderFactory
                class="net.sf.ehcache.distribution.RMIBootstrapCacheLoaderFactory"
                properties="bootstrapAsynchronously=true"
                propertySeparator="," />    
        <!-- <cacheEventListenerFactory class="net.sf.ehcache.distribution.RMICacheReplicatorFactory" 
                properties="replicateAsynchronously=true, replicatePuts=true, replicateUpdates=true, 
                replicateUpdatesViaCopy=false, replicateRemovals=true"/> --> 
    </cache> 

    <cache name="bCache" 
            maxElementsInMemory="0" 
            eternal="true" 
            timeToIdleSeconds="0" 
            timeToLiveSeconds="0" 
            overflowToDisk="false"> 

        <cacheEventListenerFactory class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"/>

        <bootstrapCacheLoaderFactory
                class="net.sf.ehcache.distribution.RMIBootstrapCacheLoaderFactory"
                properties="bootstrapAsynchronously=true"
                propertySeparator="," /> 
    </cache> 

    <cache name="cCache" 
            maxElementsInMemory="0" 
            eternal="true" 
            timeToIdleSeconds="0" 
            timeToLiveSeconds="0" 
            overflowToDisk="false"> 

        <cacheEventListenerFactory class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"/>

        <bootstrapCacheLoaderFactory
                class="net.sf.ehcache.distribution.RMIBootstrapCacheLoaderFactory"
                properties="bootstrapAsynchronously=true"
                propertySeparator="," />
    </cache> 
</ehcache> 

Ehcache.xml on Server A and Server B are entered with the same settings. When I add a cache on server A, I want to see the a cache added on server B

Only the following logs would be displayed, but Server B could not check the added cache.

[Multicast Heartbeat Receiver Thread] DEBUG n.s.e.d.MulticastKeepaliveHeartbeatReceiver - rmiUrls received //192.168.10.20:40001/aCache|//192.168.10.20:40001/bCache|//192.168.10.20:40001/cCache

If you know how, please let me know.

jack
  • 31
  • 3

0 Answers0