2017-08-28 79 views
0

我試圖爲我的應用程序實現ehcache複製。以下是該版本的jar: 的Ehcache-jgroupsreplication:1.7 的Ehcache核2.5.2 的JGroups 3.1.0Jgroup和weblogic:發件人不在表中

當開始我的應用程序,讓下面一行在服務器日誌:

GMS:地址= ABC111 -33601,集羣= EH_CACHE,物理地址= 10.XXXX:1123

並獲得在應用程序日誌中以下警告:

ABC111-33601:MES下降鼠尾草1從ABC222-40262(發送方未在表[ABC111-33601]),視圖= [ABC111-33601 | 0] [ABC111-33601]

的echache.xml是:

<?xml version="1.0" encoding="UTF-8"?> 
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd" 
    updateCheck="false"> 
    <diskStore path="java.io.tmpdir"/> 

    <cacheManagerPeerProviderFactory 
     class="net.sf.ehcache.distribution.jgroups.JGroupsCacheManagerPeerProviderFactory" 
     properties="connect=TCP(bind_port=1123): 
     TCPPING(initial_hosts=ABC111[1123],ABC222[1123],ABC333[1123];port_range=10;timeout=3000;num_initial_members=4): 
     VERIFY_SUSPECT(timeout=1500): 
         pbcast.NAKACK(use_mcast_xmit=false;use_mcast_xmit_req=false;retransmit_timeout=3000): 
         pbcast.GMS(join_timeout=5000): 
         FRAG2(frag_size=60K)" 
     propertySeparator="::" /> 
    <defaultCache 
     maxElementsInMemory="1000" 
     eternal="false" 
     timeToIdleSeconds="120" 
     timeToLiveSeconds="120" 
     overflowToDisk="false" 
     diskPersistent="false" 
     diskExpiryThreadIntervalSeconds="120">    
     </defaultCache> 
<cache name="com.abc.tariff" 
     maxElementsInMemory="1000" 
     eternal="false" 
     overflowToDisk="false" 
     timeToIdleSeconds="1800" 
     timeToLiveSeconds="1800"> 
     <cacheEventListenerFactory 
     class="net.sf.ehcache.distribution.jgroups.JGroupsCacheReplicatorFactory" 
     properties="replicateAsynchronously=true, replicatePuts=true, replicateUpdates=true, replicateUpdatesViaCopy=false, replicateRemovals=true" />  
     </cache> 
    <cache name="com.abc.customer" 
     maxElementsInMemory="1000" 
     eternal="false" 
     overflowToDisk="false" 
     timeToIdleSeconds="120" 
     timeToLiveSeconds="180"> 
     <cacheEventListenerFactory 
     class="net.sf.ehcache.distribution.jgroups.JGroupsCacheReplicatorFactory" 
     properties="replicateAsynchronously=true, replicatePuts=true, replicateUpdates=true, replicateUpdatesViaCopy=false, replicateRemovals=true" />  
     </cache> 
</ehcache> 

ABC111,ABC222和ABC333不在weblogic集羣中。

任何想法爲什麼警告即將到來,我的猜測是複製還沒有開始由於這個或有它?

回答

0

您的集羣尚未形成。

該警告表示您收到來自ABC222的消息,聲稱它們位於同一個羣集中,但不在羣集視圖中。

無論如何,你的配置看起來很奇怪,例如,UNICAST缺失,你沒有故障檢測協議,沒有合併協議等。這是默認的JGroups配置ehcache附帶?這將是非常錯誤的!

您可以使用probe(查看JGroups手冊獲取詳細信息)以確定羣集是否正確形成。我的猜測是,添加一個正確bind_addrTCP將解決這裏的問題...

+0

嗨,你可以去解釋一下嗎?感謝你的幫助。 – user2636935

+0

它使用了我使用的jgroup jar附帶的tcp.xml後工作。但我有另外3個服務器的環境,其中兩臺服務器在同一個默認網關中,一臺服務器在另一個默認網關中。它不在那裏工作。這是否與默認網關有關? – user2636935

0

您的建議後,我已經改變了設置,如下列:

<cacheManagerPeerProviderFactory 
class="net.sf.ehcache.distribution.jgroups.JGroupsCacheManagerPeerProviderFactory" 
properties="connect=TCP(bind_port=1123;bind_addr=10.x.x.58): 
TCPPING(initial_hosts=10.x.x.58[1123],10.x.x.59[1123];port_range=10;timeout=3000;num_initial_members=2;break_on_coord_rsp=true): 
MERGE2(min_interval=10000;max_interval=30000): 
FD_SOCK: 
FD(timeout=3000;max_tries=3): 
VERIFY_SUSPECT(timeout=1500): 
BARRIER: 
pbcast.NAKACK2(use_mcast_xmit=false;discard_delivered_msgs=true): 
UNICAST: 
pbcast.STABLE(stability_delay=1000;desired_avg_gossip=50000;max_bytes=4M): 
pbcast.GMS(print_local_addr=true;join_timeout=5000;view_bundling=true): 
UFC(max_credits=2M;min_threshold=0.4): 
MFC(max_credits=2M;min_threshold=0.4): 
FRAG2(frag_size=60K): 
pbcast.STATE_TRANSFER" 
propertySeparator="::" /> 

還增加了以下內容weblogics參數:

-Djava.net.preferIPv4Stack=true -Djgroups.resolve_dns=true -Djgroups.bind_addr=10.x.x.58 -Djgroups.tcpping.initial_hosts=10.x.x.58[1123],10.x.x.59[1123] 

試過runningg的概率,以及:

java -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv6Addresses=false -classpath -cp E:/jgroup/jgroups-3.1.0.Final.jar org.jgroups.tests.Probe 

-- send probe on /224.0.75.75:7500 

1 (217 bytes): 
local_addr=ABC111-65460 [XX-78af-fb20-ae58-XX] 
cluster=EH_CACHE 
physical_addr=ABC111.qaoneadr.local:1123 
view=[ABC222-23806|1] [ABC222-23806, ABC111-65460] 
version=3.1.0.Final 

2 (247 bytes): 
local_addr=ap-insight2t-47964 [bbc6c770-e344-ceaa-18a9-f690284ca154] 
cluster=OSCacheBus_insight_II_Insight_SITE_cluster 
view=[ap-insight3t-30967|697] [ap-insight3t-30967, ap-insight2t-47964] 
physical_addr=10.XX.XX.32:7900 
version=3.3.5.Final 

3 (217 bytes): 
local_addr=ABC222-23806 [XX-d700-a732-227a-XX] 
cluster=EH_CACHE 
physical_addr=ABC222.qaoneadr.local:1123 
view=[ABC222-23806|1] [ABC222-23806, ABC111-65460] 
version=3.1.0.Final 

3 responses (3 matches, 0 non matches) 

但是仍然得到:

ABC111-65460:從ABC222-23806(發送方未在表[ABC111-65460]),視圖= [ABC111-65460 | 0]丟棄消息1 [ABC111-65460]

相關問題