Jgroup和weblogic:发件人不在表中

问题描述:

我试图为我的应用程序实现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集群中。

任何想法为什么警告即将到来,我的猜测是复制还没有开始由于这个或有它?

您的集群尚未形成。

该警告表示您收到来自ABC222的消息,声称它们位于同一个群集中,但不在群集视图中。

无论如何,你的配置看起来很奇怪,例如,UNICAST缺失,你没有故障检测协议,没有合并协议等。这是默认的JGroups配置ehcache附带?这将是非常错误的!

您可以使用probe(查看JGroups手册获取详细信息)以确定群集是否正确形成。我的猜测是,添加一个正确bind_addrTCP将解决这里的问题...

+0

嗨,你可以去解释一下吗?感谢你的帮助。 – user2636935

+0

它使用了我使用的jgroup jar附带的tcp.xml后工作。但我有另外3个服务器的环境,其中两台服务器在同一个默认网关中,一台服务器在另一个默认网关中。它不在那里工作。这是否与默认网关有关? – user2636935

您的建议后,我已经改变了设置,如下列:

<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]