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_addr
到TCP
将解决这里的问题...
您的建议后,我已经改变了设置,如下列:
<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]
嗨,你可以去解释一下吗?感谢你的帮助。 – user2636935
它使用了我使用的jgroup jar附带的tcp.xml后工作。但我有另外3个服务器的环境,其中两台服务器在同一个默认网关中,一台服务器在另一个默认网关中。它不在那里工作。这是否与默认网关有关? – user2636935