在将条目放入缓存之前,如何检查与集群节点的连接?
How can I check connection to node of a cluster before putting a entry to cache?
我们使用 Infinispan 4.2.1 来组织一个由两个节点组成的集群。在将条目放入缓存之前,我们需要检查另一个节点的连接。我该怎么做?
您可以请求缓存的所有成员:
cache.getAdvancedCache().getRpcManager().getMembers()
对于具有节点 A 和 B 的集群,这将 return 一个包含
的列表
[A-44188, B-8820]
我是这样解决问题的:
JGroupsAddress myAddress = (JGroupsAddress)getInstance().cacheManager.getCache(cacheName).getAdvancedCache().getRpcManager().getAddress();
List members =getInstance().cacheManager.getCache(cacheName).getAdvancedCache().getRpcManager().getTransport().getMembers();
if(members != null && members.size() > 2) {
for(JGroupsAddress member : (List<JGroupsAddress>)members) {
if(!member.getJGroupsAddress().equals(myAddress.getJGroupsAddress())) {
return true;
}
}
}
我们使用 Infinispan 4.2.1 来组织一个由两个节点组成的集群。在将条目放入缓存之前,我们需要检查另一个节点的连接。我该怎么做?
您可以请求缓存的所有成员:
cache.getAdvancedCache().getRpcManager().getMembers()
对于具有节点 A 和 B 的集群,这将 return 一个包含
的列表[A-44188, B-8820]
我是这样解决问题的:
JGroupsAddress myAddress = (JGroupsAddress)getInstance().cacheManager.getCache(cacheName).getAdvancedCache().getRpcManager().getAddress();
List members =getInstance().cacheManager.getCache(cacheName).getAdvancedCache().getRpcManager().getTransport().getMembers();
if(members != null && members.size() > 2) {
for(JGroupsAddress member : (List<JGroupsAddress>)members) {
if(!member.getJGroupsAddress().equals(myAddress.getJGroupsAddress())) {
return true;
}
}
}