2012-12-14 33 views
3

我使用EHCache + JGroups在3個tomcat實例上覆制我的webapps的緩存。Tomcat等待加入jgroups集羣

<!-- 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才能恢復集羣。 有人可以幫我解決這個問題嗎?

回答

2

JGroups的哪個版本與(java -jar jgroups.jar)一起運行?我建議使用最新的穩定版本運行。另外,在UDP中設置timer_type =「old」。

另外,如果ehcache允許在XML文件中定義JGroups配置,最好的版本是否可以這樣做會更好? (我不是ehcache專家)。 乾杯, 貝拉

+0

謝謝,我會嘗試在UDP配置timer_type =「舊」參數。在這裏我的jgroups版本:版本:2.10.0.GA CVS:$ Id:Version.java,v 1.101 2010/07/12 11:34:27 belaban Exp $ – juliusdev

+0

可以幫助在這http://stackoverflow.com/問題/ 20568661 /臉部聚類合的Tomcat -6-上多機 – HybrisFreelance