Java 限制Infinispan缓存以在群集中添加多个节点

Java 限制Infinispan缓存以在群集中添加多个节点,java,jboss,infinispan,jgroups,Java,Jboss,Infinispan,Jgroups,我正在使用Jboss中的Infinispan缓存进行java项目。 我有两个Jboss节点在不同的机器上运行。我已成功配置infinispan缓存,该缓存在两个节点之间复制它们的数据。 以下是我的infinispan缓存配置: GlobalConfigurationBuilder global = new GlobalConfigurationBuilder(); JChannel jchannel = new JChannel(); JGroupsTransport transport = n

我正在使用Jboss中的Infinispan缓存进行java项目。 我有两个Jboss节点在不同的机器上运行。我已成功配置infinispan缓存,该缓存在两个节点之间复制它们的数据。 以下是我的infinispan缓存配置:

GlobalConfigurationBuilder global = new GlobalConfigurationBuilder();
JChannel jchannel = new JChannel();
JGroupsTransport transport = new JGroupsTransport(jchannel);
global.transport().transport(transport);
manager = new DefaultCacheManager(global.build());
ConfigurationBuilder c = new ConfigurationBuilder();
c.clustering().cacheMode(CacheMode.DIST_SYNC).hash().numOwners(numOwners).numSegments(numSegments).capacityFactor(capacityFactor).build();
c.invocationBatching().enable();
c.transaction().transactionMode(TransactionMode.TRANSACTIONAL).lockingMode(LockingMode.PESSIMISTIC);
manager.defineConfiguration(DIST, c.build());
但问题是,每当我使用上述配置时,它都会自动检测所有节点并将其添加到我不想要的集群中。我如何限制这一点;不添加群集中的所有节点


TIA.

offtopic:如果您不想自己创建和管理
JChannel,Infinispan会为您创建
JChannel
。 使用
GlobalConfiguration Builder.defaultClusteredBuilder()
。 您可以在此处找到Infinispan的配置:

要解决您的问题,您需要更改JGroups配置。如果您使用的是
UDP
+
PING
组合(最有可能),要创建分离的群集,只需更改
UDP
和/或
mcast\u端口
属性即可


查看JGroup的文档了解更多信息:

谢谢您的评论。我以前这样做过,更改了两个节点的mcast_addr,但没有成功。顺便说一句,我已经通过使用集群名称解决了这个问题。manager=新的DefaultCacheManager(GlobalConfiguration Builder.defaultClusteredBuilder().transport().nodeName(nodeName).clusterName(cacheClusterName.build());当两台计算机在同一网络上时,它们会互相发送消息,但在找到相同的clusterName之前,没有人会创建群集。@FasihUrRehman设置不同的群集名称是有效的,但当使用UDP传输的复制缓存时,所有节点都必须接收来自其他群集的多播消息并丢弃它们。为每个群集使用不同的mcast_addr和mcast_端口更便宜,因为节点只从其群集接收消息,其他群集的消息没有额外的工作。@DanBerindei我明白你的意思了,但是我的场景是,我在每个应用服务器上有两个应用服务器,我部署了两个不同的应用程序,它们有自己的缓存。所以我想要的是在每个应用程序的两个应用程序服务器之间进行集群。因此,我想集群名称将对这个场景有所帮助,但我收到以下消息,[jgroups-24,losci_qa-node-29683]-JGRP000012:来自不同集群losce_qa的丢弃消息(我们的集群是losci_qa)。发件人是076a2e56-d727-abed-0f78-4e8399bc74c1(在过去60006毫秒内从076a2e56-d727-abed-0f78-4e8399bc74c1收到34条相同的消息)@DanBerindei是的,你说得对!实际上,我使用的是Jboss应用服务器,在Jboss中,我在其独立的ha.xml(配置)文件jgroups udp中有一个套接字绑定,该文件使用一个mcast_addr。现在,我使用上述配置在JChannel中添加udp.xml并更改这两个应用程序的mcast_addr,现在消息不再出现在日志中。