首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用TCP的Ehcache Jgroups复制

使用TCP的Ehcache Jgroups复制
EN

Stack Overflow用户
提问于 2015-01-09 14:40:04
回答 1查看 2.4K关注 0票数 1

我正在尝试使用ehcache.xml设置复制缓存。我在集群缓存时遇到了问题。我在eclipse中创建了两个项目,每个项目都引用了不同的ehcache.xml配置文件。

这两个配置文件都是相同的,并且都提供了beolw。

代码语言:javascript
复制
<?xml version="1.0"?>

代码语言:javascript
复制
<cacheManagerPeerProviderFactory
    class="net.sf.ehcache.distribution.jgroups.JGroupsCacheManagerPeerProviderFactory"
    properties="connect=TCP(bind_port=7800):
    TCPPING(initial_hosts=localhost[7800],localhost[7801];port_range=10;timeout=3000;
    num_initial_members=3):
    VERIFY_SUSPECT(timeout=1500):
    pbcast.NAKACK(retransmit_timeout=3000):
    pbcast.GMS(join_timeout=50000;print_local_addr=true)"
propertySeparator="::" />

 <cache name="sampleCache"
        maxElementsInMemory="1000000"
        eternal="true"
        overflowToDisk="false">
        <cacheEventListenerFactory
        class="net.sf.ehcache.distribution.jgroups.JGroupsCacheReplicatorFactory"
        properties="replicateAsynchronously=true"/>
</cache>

我在类路径中使用以下jar文件。

-ehcache-2.9.0.jar -ehcache-jgroupsreplication-1.7.jar -jgroups-3.6.0.Final.jar -log4j-1.2.16

当我运行程序时,project1显示

代码语言:javascript
复制
63511 [main] DEBUG org.jgroups.protocols.pbcast.NAKACK  - 
[SBSPBWSVM110-42986 setDigest()]
existing digest:  []
new digest:       SBSPBWSVM110-42986: [0 (0)]
resulting digest: SBSPBWSVM110-42986: [0 (0)]
63511 [main] DEBUG org.jgroups.protocols.pbcast.GMS  - SBSPBWSVM110-42986: installing view [SBSPBWSVM110-42986|0] (1) [SBSPBWSVM110-42986]
63543 [main] DEBUG org.jgroups.protocols.pbcast.GMS  - SBSPBWSVM110-42986: created cluster (first member). My view is [SBSPBWSVM110-42986|0], impl is org.jgroups.protocols.pbcast.CoordGmsImpl
Jan 09, 2015 11:49:51 AM net.sf.ehcache.distribution.jgroups.JGroupsCacheManagerPeerProvider init

INFO:JGroups Replication started for 'EH_CACHE'. JChannel: local_addr=SBSPBWSVM110-42986
cluster_name=EH_CACHE
my_view=[SBSPBWSVM110-42986|0] (1) [SBSPBWSVM110-42986]
state=CONNECTED
discard_own_messages=true
state_transfer_supported=false

当我运行程序时,project2显示

代码语言:javascript
复制
63451 [main] DEBUG org.jgroups.protocols.pbcast.NAKACK  - 
[SBSPBWSVM110-20554 setDigest()]
existing digest:  []
new digest:       SBSPBWSVM110-20554: [0 (0)]
resulting digest: SBSPBWSVM110-20554: [0 (0)]
63451 [main] DEBUG org.jgroups.protocols.pbcast.GMS  - SBSPBWSVM110-20554: installing view [SBSPBWSVM110-20554|0] (1) [SBSPBWSVM110-20554]
63452 [main] DEBUG org.jgroups.protocols.pbcast.GMS  - SBSPBWSVM110-20554: created cluster (first member). My view is [SBSPBWSVM110-20554|0], impl is org.jgroups.protocols.pbcast.CoordGmsImpl
Jan 09, 2015 11:49:51 AM net.sf.ehcache.distribution.jgroups.JGroupsCacheManagerPeerProvider init

INFO: JGroups Replication started for 'EH_CACHE'. JChannel: local_addr=SBSPBWSVM110-20554
cluster_name=EH_CACHE
my_view=[SBSPBWSVM110-20554|0] (1) [SBSPBWSVM110-20554]
state=CONNECTED
discard_own_messages=true
state_transfer_supported=false

但是复制根本不会发生,我已经使用Ehcache做了RMIreplication,并遵循了同样的方法。因此,我假设我的java代码中没有任何错误。

我找不到配置错误的问题??请帮助我解决此问题。I‘me find here.Is my configuration wrong??请帮助我解决此问题。

EN

回答 1

Stack Overflow用户

发布于 2015-01-10 18:24:26

您使用的配置很奇怪:它与某些协议不匹配。ehcache不能引用JGroups配置文件吗,例如udp.xml?您还可以在TCP中设置bind_addr或使用-Djgroups.bind_addr=1.2.3.4,其中1.2.3.4是网络接口。然后,在TCPPING.initial_hosts中,您需要列出具有上面使用的绑定地址的所有成员,例如1.2.3.47800、5.6.7.87800等。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27855147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档