我正在尝试为两个不同的服务器设置Ehcache手动复制。以下是我的配置:
<cache name="codeTaskCache" maxElementsInMemory="1000" eternal="false"
timeToIdleSeconds="0" timeToLiveSeconds="0" overflowToDisk="false" />
<cacheManagerPeerProviderFactory class=
"net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"
properties="peerDiscovery=manual,
rmiUrls=//server1:40001/codeTaskCache | //server2:40001/codeTaskCache"
propertySeparator="," />`
在两个不同的unix框上运行的tomcat服务器上都存在相同的配置。
复制从server1正常工作 - &gt; server2但不是来自server2 - &gt; server1这很奇怪。
在文档中,他们有一个声明'rmiUrls是正在配置的服务器的缓存对等体的列表。不要在列表中包含正在配置的服务器。'
但如果它以某种方式工作那么为什么不是另一种方式?有人可以对此有所了解吗?提前谢谢。
答案 0 :(得分:0)
RMI网址不应该指向自己,只是其他ehcache实例 - 至少这对我有用。
还要确保主机名可以从两个服务器解析,并且在上一次绝望的尝试中,您甚至可以尝试在侦听器部件XML的侦听语句中使用“hostname = name_of_server_dot_domain_dot_com”。