Added example on how you can name nodes with existing system
authorfhanik <fhanik@13f79535-47bb-0310-9956-ffa450edef68>
Wed, 22 Aug 2007 14:43:08 +0000 (14:43 +0000)
committerfhanik <fhanik@13f79535-47bb-0310-9956-ffa450edef68>
Wed, 22 Aug 2007 14:43:08 +0000 (14:43 +0000)
git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@568631 13f79535-47bb-0310-9956-ffa450edef68

test/org/apache/catalina/tribes/test/membership/NamedNodes.java [new file with mode: 0644]

diff --git a/test/org/apache/catalina/tribes/test/membership/NamedNodes.java b/test/org/apache/catalina/tribes/test/membership/NamedNodes.java
new file mode 100644 (file)
index 0000000..a80e761
--- /dev/null
@@ -0,0 +1,54 @@
+package org.apache.catalina.tribes.test.membership;\r
+\r
+import org.apache.catalina.tribes.group.GroupChannel;\r
+import org.apache.catalina.tribes.membership.MemberImpl;\r
+import org.apache.catalina.tribes.MembershipListener;\r
+import org.apache.catalina.tribes.Member;\r
+import org.apache.catalina.tribes.Channel;\r
+\r
+public class NamedNodes implements MembershipListener{\r
+    \r
+    public void namedNodes() throws Exception {\r
+        GroupChannel[] channels = new GroupChannel[3];\r
+        for (int i=0; i<channels.length; i++) {\r
+            channels[i] = new GroupChannel();\r
+            //start the receiver, so that we can identify the local member\r
+            channels[i].start(Channel.SND_RX_SEQ);\r
+            MemberImpl member = (MemberImpl)channels[i].getLocalMember(false);\r
+            String name = "Member Nr-"+(i+1);\r
+            member.setPayload(name.getBytes("ASCII"));\r
+            channels[i].addMembershipListener(this);\r
+            channels[i].start(Channel.SND_TX_SEQ|Channel.MBR_RX_SEQ|Channel.MBR_TX_SEQ);\r
+         }\r
+         Thread.sleep(5000);\r
+         for (int i=0; i<channels.length; i++) {\r
+             channels[i].stop(Channel.DEFAULT);\r
+             Thread.sleep(1000);\r
+         }\r
+    }\r
+    \r
+    public static void main(String[] args) throws Exception {\r
+        NamedNodes nm = new NamedNodes();\r
+        nm.namedNodes();\r
+    }\r
+    \r
+    public void memberAdded(Member member) {\r
+        try {\r
+            String name = new String(member.getPayload(), "ASCII");\r
+            System.out.println("Node with name:"+name+" just joined");\r
+        }catch ( Exception x ) {\r
+            x.printStackTrace();\r
+        }\r
+    }\r
+\r
+    public void memberDisappeared(Member member) {\r
+        try {\r
+            String name = new String(member.getPayload(), "ASCII");\r
+            System.out.println("Node with name:"+name+" just left");\r
+        }catch ( Exception x ) {\r
+            x.printStackTrace();\r
+        }\r
+        \r
+    }\r
+\r
+}
\ No newline at end of file