3

我使用 EHCache + JGroups 在 3 个 tomcat 实例上复制我的 webapps 缓存。

<!-- Use jgroups (UDP) to replicate cache among the cluster -->
    <cacheManagerPeerProviderFactory
        class="net.sf.ehcache.distribution.jgroups.JGroupsCacheManagerPeerProviderFactory"
properties="channelName=EH_CACHE_STA::connect=UDP(mcast_addr=229.10.10.10;mcast_port=45567;):PING:MERGE2:FD_SOCK:VERIFY_SUSPECT:pbcast.NAKACK:UNICAST:pbcast.STABLE:FRAG:pbcast.GMS"
        propertySeparator="::" />

有时,tomcat 实例不会重新启动。在 jgroups 日志中,我可以看到:

[webapp] WARN  2012-12-14 15:36:55,784 [GMS] : join(tc-fr-sta-tomcat1-32427) sent to b0dc40aa-12aa-4045-01e4-c80b013dbb13 timed out (after 5000 ms), retrying
[webapp] WARN  2012-12-14 15:36:55,785 [UDP] : tc-fr-sta-tomcat1-32427: no physical address for b0dc40aa-12aa-4045-01e4-c80b013dbb13, dropping message

似乎节点试图加入自己????我们必须重新启动生产中的所有 tomcat 才能恢复集群。有人可以帮我解决这个问题吗?

4

1 回答 1

2

这是与 (java -jar jgroups.jar) 一起运行的 JGroups 的哪个版本?我建议使用最新的稳定版本运行。另外,在 UDP 中设置 timer_type="old"。

此外,如果 ehcache 允许在 XML 文件中定义 JGroups 配置会更好,也许最新版本会这样做?(我不是 ehcache 专家)。干杯,贝拉

于 2012-12-15T09:03:36.573 回答