监控Coherence成员的加入和离开集群事件

对server事件的监控主要是实现MemberListener类,对Cache事件的监控主要通过MapListener

参考代码

package coherencetest;

import com.tangosol.net.CacheFactory;
import com.tangosol.net.MemberEvent;
import com.tangosol.net.MemberListener;
import com.tangosol.net.NamedCache;
import com.tangosol.util.MapEvent;
import com.tangosol.util.MapListener;

class ProxyListenerNotification implements MemberListener {
public void memberJoined (MemberEvent e) {
System.out.println("====== Member Join ");
}
public void memberLeaving(MemberEvent e) {}
public void memberLeft(MemberEvent e) {
System.out.println("************ Member Left");

 System.out.println(e.getMember());
//NamedCache cache = CacheFactory.getCache("POFSample");
//cache.size(); // force reconnection to another proxy server
}
}


public class ProxyListener {

public static void main(String[] args) {
try {
NamedCache cache = CacheFactory.getCache("POFSample");
/*
cache.addMapListener(new MapListener() {

public void entryUpdated(MapEvent arg0) {
System.out.println(arg0);
}

public void entryInserted(MapEvent arg0) {
System.out.println(arg0);

}
public void entryDeleted(MapEvent arg0) {
System.out.println(arg0);
}});
*/
cache.getCacheService().addMemberListener(new ProxyListenerNotification());

while(true){
// Thread.sleep(100000);
}
} catch (Exception e) {
System.out.println(e);
}
}
}

当proxy server或storage server加入或者离开集群时,输出如下:

TcpRing{Connections=[3]}
IpMonitor{Addresses=0, Timeout=15s}

2016-09-14 14:42:16.393/5.929 Oracle Coherence GE 12.2.1.0.0 <D5> (thread=Invocation:Management, member=5): Service Management joined the cluster with senior service member 3
2016-09-14 14:42:17.118/6.653 Oracle Coherence GE 12.2.1.0.0 <D5> (thread=DistributedCache, member=5): Service DistributedCache joined the cluster with senior service member 2
2016-09-14 14:42:25.120/14.654 Oracle Coherence GE 12.2.1.0.0 <D5> (thread=Cluster, member=5): Member(Id=6, Timestamp=2016-09-14 14:42:24.923, Address=10.182.168.155:27343, MachineId=48051, Location=site:cn.oracle.com,machine:ENIE-CN,process:12408, Role=CoherenceServer) joined Cluster with senior member 2
2016-09-14 14:42:26.835/16.369 Oracle Coherence GE 12.2.1.0.0 <D5> (thread=Transport:TransportService, member=5): Member 6 joined Service TransportService with senior member 2
2016-09-14 14:42:26.889/16.424 Oracle Coherence GE 12.2.1.0.0 <D5> (thread=Invocation:Management, member=5): Member 6 joined Service Management with senior member 3
====== Member Join
2016-09-14 14:42:28.721/18.255 Oracle Coherence GE 12.2.1.0.0 <D5> (thread=DistributedCache, member=5): Member 6 joined Service DistributedCache with senior member 2
2016-09-14 14:42:40.397/29.931 Oracle Coherence GE 12.2.1.0.0 <D5> (thread=Cluster, member=5): Member(Id=7, Timestamp=2016-09-14 14:42:40.205, Address=10.182.168.155:27375, MachineId=48051, Location=site:cn.oracle.com,machine:ENIE-CN,process:13084, Role=CoherenceServer) joined Cluster with senior member 2
2016-09-14 14:42:42.529/32.063 Oracle Coherence GE 12.2.1.0.0 <D5> (thread=Transport:TransportService, member=5): Member 7 joined Service TransportService with senior member 2
2016-09-14 14:42:42.567/32.100 Oracle Coherence GE 12.2.1.0.0 <D5> (thread=Invocation:Management, member=5): Member 7 joined Service Management with senior member 3
2016-09-14 14:42:43.573/33.107 Oracle Coherence GE 12.2.1.0.0 <D5> (thread=DistributedCache, member=5): Member 7 joined Service DistributedCache with senior member 2
====== Member Join
************ Member Left

====================
Member(Id=6, Timestamp=2016-09-24 10:15:30.063, Address=172.31.8.56:28369, MachineId=48051, Location=site:cn.oracle.com,machine:ENIE-CN,process:10552, Role=CoherenceServer)


2016-09-14 14:42:52.175/41.708 Oracle Coherence GE 12.2.1.0.0 <D5> (thread=Cluster, member=5): Member(Id=2, Timestamp=2016-09-14 14:42:52.175, Address=10.182.168.155:27227, MachineId=48051, Location=site:cn.oracle.com,machine:ENIE-CN,process:12316, Role=CoherenceServer) left Cluster with senior member 3
2016-09-14 14:42:52.177/41.710 Oracle Coherence GE 12.2.1.0.0 <D5> (thread=Invocation:Management, member=5): Member 2 left service Management with senior member 3
2016-09-14 14:42:52.180/41.713 Oracle Coherence GE 12.2.1.0.0 <D5> (thread=DistributedCache, member=5): Member 2 left service DistributedCache with senior member 2
2016-09-14 14:42:52.367/41.899 Oracle Coherence GE 12.2.1.0.0 <D5> (thread=Transport:TransportService, member=5): Member 2 left service TransportService with senior member 2
2016-09-14 14:42:52.928/42.461 Oracle Coherence GE 12.2.1.0.0 <D5> (thread=Cluster, member=5): MemberLeft notification for Member(Id=2, Timestamp=2016-09-14 14:42:52.175, Address=10.182.168.155:27227, MachineId=48051, Location=site:cn.oracle.com,machine:ENIE-CN,process:12316, Role=CoherenceServer) received from Member(Id=3, Timestamp=2016-09-14 14:39:29.281, Address=10.182.168.155:27214, MachineId=48051, Location=site:cn.oracle.com,machine:ENIE-CN,process:11880, Role=CoherenceServer)

原文地址:https://www.cnblogs.com/ericnie/p/5872224.html