rmiUrl устарел. Либо удаленный узел отключен, либо подключение к сети было прервано - PullRequest
0 голосов
/ 12 апреля 2019

Я использую Ehcache 2.10.6 с SpringBoot 2.0.8.RELEASE со следующей конфигурацией для репликации кеша между виртуальными машинами:

<cacheManagerPeerProviderFactory
        class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"
        properties="peerDiscovery=automatic, multicastGroupAddress=${ip.address}, multicastGroupPort=${multicst.port}, timeToLive=32, hostName=${hostname}"
        propertySeparator=","/>
<cacheManagerPeerListenerFactory
        class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory"
        properties="hostName=${hostname}, port=${listen.port}, socketTimeoutMillis=120000"
        propertySeparator=","/>

Репликация отлично работает в начале и через некоторое время перестает работать со следующим журналом отладки:

rmiUrl is stale. Either the remote peer is shutdown or the network connectivity has been interrupted. Will be removed from list of remote cache peers

Я обнаружил, что heartBeatStaleTime имеет значение по умолчанию ((2 * HeartBeatInterval) + 100)ms, и я не знаю, как его изменить, используя конфигурацию ehcache или SpringBoot. Есть идеи, пожалуйста?


EDIT

Для тех, кто заинтересован, чтобы изменить значение по умолчанию, вы можете использовать следующий статический метод: MulticastKeepaliveHeartbeatSender # setHeartBeatStaleTime

Но даже при увеличении времени heartBeatStaleTime я получаю журнал rmiUrl is stale DEBUG. В этом обсуждении 2012 они сказали, что это проблема сети, и я не знаю, как ее решить: (

...