This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/main by this push: new 1f509bca8c Code clean-up. Formatting. No functional change. 1f509bca8c is described below commit 1f509bca8c769108c382cce5aab972d6d2d05c0b Author: Mark Thomas <ma...@apache.org> AuthorDate: Wed Mar 15 14:09:36 2023 +0000 Code clean-up. Formatting. No functional change. --- .../catalina/tribes/demos/ChannelCreator.java | 88 +++--- .../catalina/tribes/demos/CoordinationDemo.java | 238 ++++++++-------- .../apache/catalina/tribes/demos/EchoRpcTest.java | 232 ++++++++-------- .../catalina/tribes/demos/IntrospectionUtils.java | 67 ++--- .../org/apache/catalina/tribes/demos/LoadTest.java | 217 +++++++-------- test/org/apache/catalina/tribes/demos/MapDemo.java | 302 ++++++++++----------- .../tribes/demos/MembersWithProperties.java | 45 ++- 7 files changed, 581 insertions(+), 608 deletions(-) diff --git a/test/org/apache/catalina/tribes/demos/ChannelCreator.java b/test/org/apache/catalina/tribes/demos/ChannelCreator.java index 43cebc05ab..472cd6fe47 100644 --- a/test/org/apache/catalina/tribes/demos/ChannelCreator.java +++ b/test/org/apache/catalina/tribes/demos/ChannelCreator.java @@ -42,31 +42,20 @@ public class ChannelCreator { public static StringBuilder usage() { StringBuilder buf = new StringBuilder(); - buf.append("\n\t\t[-bind tcpbindaddress]") - .append("\n\t\t[-tcpselto tcpselectortimeout]") - .append("\n\t\t[-tcpthreads tcpthreadcount]") - .append("\n\t\t[-port tcplistenport]") - .append("\n\t\t[-autobind tcpbindtryrange]") - .append("\n\t\t[-ackto acktimeout]") - .append("\n\t\t[-receiver org.apache.catalina.tribes.transport.nio.NioReceiver|org.apache.catalina.tribes.transport.bio.BioReceiver|]") - .append("\n\t\t[-transport org.apache.catalina.tribes.transport.nio.PooledParallelSender|org.apache.catalina.tribes.transport.bio.PooledMultiSender]") - .append("\n\t\t[-transport.xxx transport specific property]") - .append("\n\t\t[-maddr multicastaddr]") - .append("\n\t\t[-mport multicastport]") - .append("\n\t\t[-mbind multicastbindaddr]") - .append("\n\t\t[-mfreq multicastfrequency]") - .append("\n\t\t[-mdrop multicastdroptime]") - .append("\n\t\t[-gzip]") - .append("\n\t\t[-static hostname:port (-static localhost:9999 -static 127.0.0.1:8888 can be repeated)]") - .append("\n\t\t[-order]") - .append("\n\t\t[-ordersize maxorderqueuesize]") - .append("\n\t\t[-frag]") - .append("\n\t\t[-fragsize maxmsgsize]") - .append("\n\t\t[-throughput]") - .append("\n\t\t[-failuredetect]") - .append("\n\t\t[-async]") - .append("\n\t\t[-asyncsize maxqueuesizeinkilobytes]"); - return buf; + buf.append("\n\t\t[-bind tcpbindaddress]").append("\n\t\t[-tcpselto tcpselectortimeout]") + .append("\n\t\t[-tcpthreads tcpthreadcount]").append("\n\t\t[-port tcplistenport]") + .append("\n\t\t[-autobind tcpbindtryrange]").append("\n\t\t[-ackto acktimeout]") + .append("\n\t\t[-receiver org.apache.catalina.tribes.transport.nio.NioReceiver|org.apache.catalina.tribes.transport.bio.BioReceiver|]") + .append("\n\t\t[-transport org.apache.catalina.tribes.transport.nio.PooledParallelSender|org.apache.catalina.tribes.transport.bio.PooledMultiSender]") + .append("\n\t\t[-transport.xxx transport specific property]").append("\n\t\t[-maddr multicastaddr]") + .append("\n\t\t[-mport multicastport]").append("\n\t\t[-mbind multicastbindaddr]") + .append("\n\t\t[-mfreq multicastfrequency]").append("\n\t\t[-mdrop multicastdroptime]") + .append("\n\t\t[-gzip]") + .append("\n\t\t[-static hostname:port (-static localhost:9999 -static 127.0.0.1:8888 can be repeated)]") + .append("\n\t\t[-order]").append("\n\t\t[-ordersize maxorderqueuesize]").append("\n\t\t[-frag]") + .append("\n\t\t[-fragsize maxmsgsize]").append("\n\t\t[-throughput]").append("\n\t\t[-failuredetect]") + .append("\n\t\t[-async]").append("\n\t\t[-asyncsize maxqueuesizeinkilobytes]"); + return buf; } @@ -92,7 +81,7 @@ public class ChannelCreator { String transport = "org.apache.catalina.tribes.transport.nio.PooledParallelSender"; String receiver = "org.apache.catalina.tribes.transport.nio.NioReceiver"; boolean async = false; - int asyncsize = 1024*1024*50; //50MB + int asyncsize = 1024 * 1024 * 50; // 50MB boolean throughput = false; boolean failuredetect = false; @@ -115,12 +104,12 @@ public class ChannelCreator { failuredetect = true; } else if ("-asyncsize".equals(args[i])) { asyncsize = Integer.parseInt(args[++i]); - System.out.println("Setting MessageDispatchInterceptor.maxQueueSize="+asyncsize); + System.out.println("Setting MessageDispatchInterceptor.maxQueueSize=" + asyncsize); } else if ("-static".equals(args[i])) { String d = args[++i]; - String h = d.substring(0,d.indexOf(':')); - String p = d.substring(h.length()+1); - Member m = new MemberImpl(h,Integer.parseInt(p),2000); + String h = d.substring(0, d.indexOf(':')); + String p = d.substring(h.length() + 1); + Member m = new MemberImpl(h, Integer.parseInt(p), 2000); staticMembers.add(m); } else if ("-throughput".equals(args[i])) { throughput = true; @@ -128,20 +117,20 @@ public class ChannelCreator { order = true; } else if ("-ordersize".equals(args[i])) { ordersize = Integer.parseInt(args[++i]); - System.out.println("Setting OrderInterceptor.maxQueue="+ordersize); + System.out.println("Setting OrderInterceptor.maxQueue=" + ordersize); } else if ("-frag".equals(args[i])) { frag = true; } else if ("-fragsize".equals(args[i])) { fragsize = Integer.parseInt(args[++i]); - System.out.println("Setting FragmentationInterceptor.maxSize="+fragsize); + System.out.println("Setting FragmentationInterceptor.maxSize=" + fragsize); } else if ("-ackto".equals(args[i])) { acktimeout = Integer.parseInt(args[++i]); } else if ("-transport".equals(args[i])) { transport = args[++i]; - } else if (args[i]!=null && args[i].startsWith("transport.")) { + } else if (args[i] != null && args[i].startsWith("transport.")) { String key = args[i]; String val = args[++i]; - transportProperties.setProperty(key,val); + transportProperties.setProperty(key, val); } else if ("-receiver".equals(args[i])) { receiver = args[++i]; } else if ("-maddr".equals(args[i])) { @@ -157,10 +146,9 @@ public class ChannelCreator { } } - System.out.println("Creating receiver class="+receiver); - Class<?> cl = Class.forName(receiver, true, - ChannelCreator.class.getClassLoader()); - ReceiverBase rx = (ReceiverBase)cl.getConstructor().newInstance(); + System.out.println("Creating receiver class=" + receiver); + Class<?> cl = Class.forName(receiver, true, ChannelCreator.class.getClassLoader()); + ReceiverBase rx = (ReceiverBase) cl.getConstructor().newInstance(); rx.setAddress(bind); rx.setPort(port); rx.setSelectorTimeout(tcpseltimeout); @@ -173,9 +161,9 @@ public class ChannelCreator { ReplicationTransmitter ps = new ReplicationTransmitter(); - System.out.println("Creating transport class="+transport); - MultiPointSender sender = (MultiPointSender)Class.forName( - transport,true,ChannelCreator.class.getClassLoader()).getConstructor().newInstance(); + System.out.println("Creating transport class=" + transport); + MultiPointSender sender = (MultiPointSender) Class + .forName(transport, true, ChannelCreator.class.getClassLoader()).getConstructor().newInstance(); sender.setTimeout(acktimeout); sender.setMaxRetryAttempts(2); sender.setRxBufSize(Constants.DEFAULT_CLUSTER_MSG_BUFFER_SIZE); @@ -190,7 +178,7 @@ public class ChannelCreator { McastService service = new McastService(); service.setAddress(mcastaddr); if (mbind != null) { - service.setMcastBindAddress(mbind); + service.setMcastBindAddress(mbind); } service.setFrequency(mcastfreq); service.setMcastDropTime(mcastdrop); @@ -201,13 +189,13 @@ public class ChannelCreator { channel.setChannelSender(ps); channel.setMembershipService(service); - if ( throughput ) { - channel.addInterceptor(new ThroughputInterceptor()); + if (throughput) { + channel.addInterceptor(new ThroughputInterceptor()); } if (gzip) { - channel.addInterceptor(new GzipInterceptor()); + channel.addInterceptor(new GzipInterceptor()); } - if ( frag ) { + if (frag) { FragmentationInterceptor fi = new FragmentationInterceptor(); fi.setMaxSize(fragsize); channel.addInterceptor(fi); @@ -218,18 +206,18 @@ public class ChannelCreator { channel.addInterceptor(oi); } - if ( async ) { + if (async) { MessageDispatchInterceptor mi = new MessageDispatchInterceptor(); mi.setMaxQueueSize(asyncsize); channel.addInterceptor(mi); System.out.println("Added MessageDispatchInterceptor"); } - if ( failuredetect ) { + if (failuredetect) { TcpFailureDetector tcpfi = new TcpFailureDetector(); channel.addInterceptor(tcpfi); } - if ( staticMembers.size() > 0 ) { + if (staticMembers.size() > 0) { StaticMembershipInterceptor smi = new StaticMembershipInterceptor(); for (Member staticMember : staticMembers) { smi.addStaticMember(staticMember); @@ -238,7 +226,7 @@ public class ChannelCreator { } - byte[] domain = new byte[] {1,2,3,4,5,6,7,8,9,0}; + byte[] domain = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 }; channel.getMembershipService().setDomain(domain); DomainFilterInterceptor filter = new DomainFilterInterceptor(); filter.setDomain(domain); diff --git a/test/org/apache/catalina/tribes/demos/CoordinationDemo.java b/test/org/apache/catalina/tribes/demos/CoordinationDemo.java index dbb6ca8810..ad958a061f 100644 --- a/test/org/apache/catalina/tribes/demos/CoordinationDemo.java +++ b/test/org/apache/catalina/tribes/demos/CoordinationDemo.java @@ -41,6 +41,7 @@ public class CoordinationDemo { StringBuilder statusLine = new StringBuilder(); Status[] status = null; BufferedReader reader = null; + /** * Construct and show the application. */ @@ -56,8 +57,8 @@ public class CoordinationDemo { public void clearScreen() { StringBuilder buf = new StringBuilder(700); - for (int i=0; i<CLEAR_SCREEN; i++ ) { - buf.append("\n"); + for (int i = 0; i < CLEAR_SCREEN; i++) { + buf.append("\n"); } System.out.println(buf); } @@ -73,51 +74,51 @@ public class CoordinationDemo { public synchronized void printScreen() { clearScreen(); - System.out.println(" ###."+getHeader()); - for ( int i=0; i<status.length; i++ ) { - System.out.print(leftfill(String.valueOf(i+1)+".",5," ")); - if ( status[i] != null ) { - System.out.print(status[i].getStatusLine()); + System.out.println(" ###." + getHeader()); + for (int i = 0; i < status.length; i++) { + System.out.print(leftfill(String.valueOf(i + 1) + ".", 5, " ")); + if (status[i] != null) { + System.out.print(status[i].getStatusLine()); } } System.out.println("\n\n"); - System.out.println("Overall status:"+statusLine); + System.out.println("Overall status:" + statusLine); printMenuOptions(); } public String getHeader() { - //member - 30 - //running- 10 - //coord - 30 - //view-id - 24 - //view count - 8 + // member - 30 + // running- 10 + // coord - 30 + // view-id - 24 + // view count - 8 StringBuilder buf = new StringBuilder(); - buf.append(leftfill("Member",30," ")); - buf.append(leftfill("Running",10," ")); - buf.append(leftfill("Coord",30," ")); - buf.append(leftfill("View-id(short)",24," ")); - buf.append(leftfill("Count",8," ")); + buf.append(leftfill("Member", 30, " ")); + buf.append(leftfill("Running", 10, " ")); + buf.append(leftfill("Coord", 30, " ")); + buf.append(leftfill("View-id(short)", 24, " ")); + buf.append(leftfill("Count", 8, " ")); buf.append("\n"); - buf.append(rightfill("==="+new java.sql.Timestamp(System.currentTimeMillis()).toString(),SCREEN_WIDTH,"=")); + buf.append(rightfill("===" + new java.sql.Timestamp(System.currentTimeMillis()).toString(), SCREEN_WIDTH, "=")); buf.append("\n"); return buf.toString(); } public String[] tokenize(String line) { - StringTokenizer tz = new StringTokenizer(line," "); + StringTokenizer tz = new StringTokenizer(line, " "); String[] result = new String[tz.countTokens()]; - for (int i=0; i<result.length; i++ ) { - result[i] = tz.nextToken(); + for (int i = 0; i < result.length; i++) { + result[i] = tz.nextToken(); } return result; } public void waitForInput() throws IOException { - for ( int i=0; i<status.length; i++ ) { - status[i] = new Status(this); + for (int i = 0; i < status.length; i++) { + status[i] = new Status(this); } printScreen(); String l = reader.readLine(); @@ -127,7 +128,7 @@ public class CoordinationDemo { } else { args = tokenize(l); } - while ( args.length >= 1 && (!"quit".equalsIgnoreCase(args[0]))) { + while (args.length >= 1 && (!"quit".equalsIgnoreCase(args[0]))) { if ("start".equalsIgnoreCase(args[0])) { cmdStart(args); } else if ("stop".equalsIgnoreCase(args[0])) { @@ -141,12 +142,12 @@ public class CoordinationDemo { } } for (Status value : status) { - value.stop(); + value.stop(); } } private void cmdStop(String[] args) { - if ( args.length == 1 ) { + if (args.length == 1) { setSystemStatus("System shutting down..."); Thread[] t = new Thread[CHANNEL_COUNT]; for (int i = 0; i < status.length; i++) { @@ -159,26 +160,30 @@ public class CoordinationDemo { }; } for (int i = 0; i < status.length; i++) { - if (MULTI_THREAD ) { - t[i].start(); - } else { - t[i].run(); - } + if (MULTI_THREAD) { + t[i].start(); + } else { + t[i].run(); + } } setSystemStatus("System stopped."); } else { int index = -1; - try { index = Integer.parseInt(args[1])-1;}catch ( Exception x ) {setSystemStatus("Invalid index:"+args[1]);} - if ( index >= 0 ) { - setSystemStatus("Stopping member:"+(index+1)); + try { + index = Integer.parseInt(args[1]) - 1; + } catch (Exception x) { + setSystemStatus("Invalid index:" + args[1]); + } + if (index >= 0) { + setSystemStatus("Stopping member:" + (index + 1)); status[index].stop(); - setSystemStatus("Member stopped:"+(index+1)); + setSystemStatus("Member stopped:" + (index + 1)); } } } private void cmdStart(String[] args) { - if ( args.length == 1 ) { + if (args.length == 1) { setSystemStatus("System starting up..."); Thread[] t = new Thread[CHANNEL_COUNT]; for (int i = 0; i < status.length; i++) { @@ -191,56 +196,60 @@ public class CoordinationDemo { }; } for (int i = 0; i < status.length; i++) { - if (MULTI_THREAD ) { - t[i].start(); - } else { - t[i].run(); - } + if (MULTI_THREAD) { + t[i].start(); + } else { + t[i].run(); + } } setSystemStatus("System started."); } else { int index = -1; - try { index = Integer.parseInt(args[1])-1;}catch ( Exception x ) {setSystemStatus("Invalid index:"+args[1]);} - if ( index >= 0 ) { - setSystemStatus("Starting member:"+(index+1)); + try { + index = Integer.parseInt(args[1]) - 1; + } catch (Exception x) { + setSystemStatus("Invalid index:" + args[1]); + } + if (index >= 0) { + setSystemStatus("Starting member:" + (index + 1)); status[index].start(); - setSystemStatus("Member started:"+(index+1)); + setSystemStatus("Member started:" + (index + 1)); } } } public void setSystemStatus(String status) { - statusLine.delete(0,statusLine.length()); + statusLine.delete(0, statusLine.length()); statusLine.append(status); } public static void setEvents(String events) { - java.util.Arrays.fill(VIEW_EVENTS,false); - StringTokenizer t = new StringTokenizer(events,","); - while (t.hasMoreTokens() ) { + java.util.Arrays.fill(VIEW_EVENTS, false); + StringTokenizer t = new StringTokenizer(events, ","); + while (t.hasMoreTokens()) { int idx = Integer.parseInt(t.nextToken()); VIEW_EVENTS[idx] = true; } } - public static void run(String[] args,CoordinationDemo demo) throws Exception { + public static void run(String[] args, CoordinationDemo demo) throws Exception { usage(); - java.util.Arrays.fill(VIEW_EVENTS,true); - - for (int i=0; i<args.length; i++ ) { - if ( "-c".equals(args[i]) ) { - CHANNEL_COUNT = Integer.parseInt(args[++i]); - } else if ( "-t".equals(args[i]) ) { - MULTI_THREAD = Boolean.parseBoolean(args[++i]); - } else if ( "-s".equals(args[i]) ) { - SLEEP_TIME = Long.parseLong(args[++i]); - } else if ( "-sc".equals(args[i]) ) { - CLEAR_SCREEN = Integer.parseInt(args[++i]); - } else if ( "-p".equals(args[i]) ) { - setEvents(args[++i]); - } else if ( "-h".equals(args[i]) ) { - System.exit(0); + java.util.Arrays.fill(VIEW_EVENTS, true); + + for (int i = 0; i < args.length; i++) { + if ("-c".equals(args[i])) { + CHANNEL_COUNT = Integer.parseInt(args[++i]); + } else if ("-t".equals(args[i])) { + MULTI_THREAD = Boolean.parseBoolean(args[++i]); + } else if ("-s".equals(args[i])) { + SLEEP_TIME = Long.parseLong(args[++i]); + } else if ("-sc".equals(args[i])) { + CLEAR_SCREEN = Integer.parseInt(args[++i]); + } else if ("-p".equals(args[i])) { + setEvents(args[++i]); + } else if ("-h".equals(args[i])) { + System.exit(0); } } demo.init(); @@ -249,37 +258,43 @@ public class CoordinationDemo { private static void usage() { System.out.println("Usage:"); - System.out.println("\tjava org.apache.catalina.tribes.demos.CoordinationDemo -c channel-count(int) -t multi-thread(true|false) -s sleep-time(ms) -sc clear-screen(int) -p view_events_csv(1,2,5,7)"); + System.out.println( + "\tjava org.apache.catalina.tribes.demos.CoordinationDemo -c channel-count(int) -t multi-thread(true|false) -s sleep-time(ms) -sc clear-screen(int) -p view_events_csv(1,2,5,7)"); System.out.println("Example:"); - System.out.println("\tjava o.a.c.t.d.CoordinationDemo -> starts demo single threaded start/stop with 5 channels"); - System.out.println("\tjava o.a.c.t.d.CoordinationDemo -c 10 -> starts demo single threaded start/stop with 10 channels"); - System.out.println("\tjava o.a.c.t.d.CoordinationDemo -c 7 -t true -s 1000 -sc 50-> starts demo multi threaded start/stop with 7 channels and 1 second sleep time between events and 50 lines to clear screen"); - System.out.println("\tjava o.a.c.t.d.CoordinationDemo -t true -p 12 -> starts demo multi threaded start/stop with 5 channels and only prints the EVT_CONF_RX event"); + System.out + .println("\tjava o.a.c.t.d.CoordinationDemo -> starts demo single threaded start/stop with 5 channels"); + System.out.println( + "\tjava o.a.c.t.d.CoordinationDemo -c 10 -> starts demo single threaded start/stop with 10 channels"); + System.out.println( + "\tjava o.a.c.t.d.CoordinationDemo -c 7 -t true -s 1000 -sc 50-> starts demo multi threaded start/stop with 7 channels and 1 second sleep time between events and 50 lines to clear screen"); + System.out.println( + "\tjava o.a.c.t.d.CoordinationDemo -t true -p 12 -> starts demo multi threaded start/stop with 5 channels and only prints the EVT_CONF_RX event"); System.out.println(); } + public static void main(String[] args) throws Exception { CoordinationDemo demo = new CoordinationDemo(); - run(args,demo); + run(args, demo); } public static String leftfill(String value, int length, String ch) { - return fill(value,length,ch,true); + return fill(value, length, ch, true); } public static String rightfill(String value, int length, String ch) { - return fill(value,length,ch,false); + return fill(value, length, ch, false); } public static String fill(String value, int length, String ch, boolean left) { StringBuilder buf = new StringBuilder(); - if ( !left ) { - buf.append(value.trim()); + if (!left) { + buf.append(value.trim()); } - for (int i=value.trim().length(); i<length; i++ ) { - buf.append(ch); + for (int i = value.trim().length(); i < length; i++) { + buf.append(ch); } - if ( left ) { - buf.append(value.trim()); + if (left) { + buf.append(value.trim()); } return buf.toString(); } @@ -298,46 +313,49 @@ public class CoordinationDemo { } public String getStatusLine() { - //member - 30 - //running- 10 - //coord - 30 - //view-id - 24 - //view count - 8 + // member - 30 + // running- 10 + // coord - 30 + // view-id - 24 + // view count - 8 StringBuilder buf = new StringBuilder(); String local = ""; String coord = ""; String viewId = ""; String count = "0"; - if ( channel != null ) { + if (channel != null) { Member lm = channel.getLocalMember(false); - local = lm!=null?lm.getName():""; - coord = interceptor!=null && interceptor.getCoordinator()!=null?interceptor.getCoordinator().getName():""; + local = lm != null ? lm.getName() : ""; + coord = interceptor != null && interceptor.getCoordinator() != null + ? interceptor.getCoordinator().getName() + : ""; if (interceptor != null) { - viewId = getByteString(interceptor.getViewId()!=null?interceptor.getViewId().getBytes():new byte[0]); + viewId = getByteString( + interceptor.getViewId() != null ? interceptor.getViewId().getBytes() : new byte[0]); count = String.valueOf(interceptor.getView().length); } } - buf.append(leftfill(local,30," ")); + buf.append(leftfill(local, 30, " ")); buf.append(leftfill(startstatus, 10, " ")); buf.append(leftfill(coord, 30, " ")); buf.append(leftfill(viewId, 24, " ")); buf.append(leftfill(count, 8, " ")); buf.append("\n"); - buf.append("Status:"+status); + buf.append("Status:" + status); buf.append("\n"); return buf.toString(); } public String getByteString(byte[] b) { - if ( b == null ) { - return "{}"; + if (b == null) { + return "{}"; } - return Arrays.toString(b,0,Math.min(b.length,4)); + return Arrays.toString(b, 0, Math.min(b.length, 4)); } public void start() { try { - if ( channel == null ) { + if (channel == null) { channel = createChannel(); startstatus = "starting"; channel.start(Channel.DEFAULT); @@ -345,18 +363,20 @@ public class CoordinationDemo { } else { status = "Channel already started."; } - } catch ( Exception x ) { + } catch (Exception x) { synchronized (System.err) { System.err.println("Start failed:"); StackTraceElement[] els = x.getStackTrace(); for (StackTraceElement el : els) { - System.err.println(el.toString()); + System.err.println(el.toString()); } } - status = "Start failed:"+x.getMessage(); + status = "Start failed:" + x.getMessage(); error = x; startstatus = "failed"; - try { channel.stop(Channel.DEFAULT);}catch(Exception ignore){ + try { + channel.stop(Channel.DEFAULT); + } catch (Exception ignore) { // Ignore } channel = null; @@ -366,24 +386,24 @@ public class CoordinationDemo { public void stop() { try { - if ( channel != null ) { + if (channel != null) { channel.stop(Channel.DEFAULT); status = "Channel Stopped"; } else { status = "Channel Already Stopped"; } - }catch ( Exception x ) { + } catch (Exception x) { synchronized (System.err) { System.err.println("Stop failed:"); StackTraceElement[] els = x.getStackTrace(); for (StackTraceElement el : els) { - System.err.println(el.toString()); + System.err.println(el.toString()); } } - status = "Stop failed:"+x.getMessage(); + status = "Stop failed:" + x.getMessage(); error = x; - }finally { + } finally { startstatus = "stopped"; channel = null; interceptor = null; @@ -392,17 +412,19 @@ public class CoordinationDemo { public GroupChannel createChannel() { channel = new GroupChannel(); - ((ReceiverBase)channel.getChannelReceiver()).setAutoBind(100); + ((ReceiverBase) channel.getChannelReceiver()).setAutoBind(100); interceptor = new NonBlockingCoordinator() { @Override public void fireInterceptorEvent(InterceptorEvent event) { status = event.getEventTypeDesc(); int type = event.getEventType(); boolean display = VIEW_EVENTS[type]; - if ( display ) { - parent.printScreen(); + if (display) { + parent.printScreen(); } - try { Thread.sleep(SLEEP_TIME); }catch ( Exception x){ + try { + Thread.sleep(SLEEP_TIME); + } catch (Exception x) { // Ignore } } diff --git a/test/org/apache/catalina/tribes/demos/EchoRpcTest.java b/test/org/apache/catalina/tribes/demos/EchoRpcTest.java index e58798fece..3f55c02401 100644 --- a/test/org/apache/catalina/tribes/demos/EchoRpcTest.java +++ b/test/org/apache/catalina/tribes/demos/EchoRpcTest.java @@ -43,168 +43,166 @@ public class EchoRpcTest implements RpcCallback, Runnable { this.message = message; this.pause = pause; this.options = options; - this.rpc = new RpcChannel(name.getBytes(StandardCharsets.UTF_8),channel,this); + this.rpc = new RpcChannel(name.getBytes(StandardCharsets.UTF_8), channel, this); this.timeout = timeout; this.name = name; } /** - * If the reply has already been sent to the requesting thread, the rpc - * callback can handle any data that comes in after the fact. + * If the reply has already been sent to the requesting thread, the rpc callback can handle any data that comes in + * after the fact. * - * @param msg Serializable + * @param msg Serializable * @param sender Member */ @Override public void leftOver(Serializable msg, Member sender) { - System.out.println("Received a left over message from ["+sender.getName()+"] with data ["+msg+"]"); + System.out.println("Received a left over message from [" + sender.getName() + "] with data [" + msg + "]"); } /** - * @param msg Serializable + * @param msg Serializable * @param sender Member + * * @return Serializable - null if no reply should be sent */ @Override public Serializable replyRequest(Serializable msg, Member sender) { - System.out.println("Received a reply request message from ["+sender.getName()+"] with data ["+msg+"]"); - return "Reply("+name+"):"+msg; + System.out.println("Received a reply request message from [" + sender.getName() + "] with data [" + msg + "]"); + return "Reply(" + name + "):" + msg; } @Override public void run() { long counter = 0; - while (counter<count) { - String msg = message + " cnt="+(++counter); + while (counter < count) { + String msg = message + " cnt=" + (++counter); try { - System.out.println("Sending ["+msg+"]"); + System.out.println("Sending [" + msg + "]"); long start = System.currentTimeMillis(); - Response[] resp = rpc.send(channel.getMembers(),msg,options,Channel.SEND_OPTIONS_DEFAULT,timeout); - System.out.println("Send of ["+msg+"] completed. Nr of responses="+resp.length+" Time:"+(System.currentTimeMillis()-start)+" ms."); + Response[] resp = rpc.send(channel.getMembers(), msg, options, Channel.SEND_OPTIONS_DEFAULT, timeout); + System.out.println("Send of [" + msg + "] completed. Nr of responses=" + resp.length + " Time:" + + (System.currentTimeMillis() - start) + " ms."); for (Response response : resp) { - System.out.println("Received a response message from [" + response.getSource().getName() + "] with data [" + response.getMessage() + "]"); + System.out.println("Received a response message from [" + response.getSource().getName() + + "] with data [" + response.getMessage() + "]"); } Thread.sleep(pause); - }catch(Exception x){ + } catch (Exception x) { // Ignore } } } public static void usage() { - System.out.println("Tribes RPC tester."); - System.out.println("Usage:\n\t"+ - "java EchoRpcTest [options]\n\t"+ - "Options:\n\t\t"+ - "[-mode all|first|majority] \n\t\t"+ - "[-debug] \n\t\t"+ - "[-count messagecount] \n\t\t"+ - "[-timeout timeoutinms] \n\t\t"+ - "[-stats statinterval] \n\t\t"+ - "[-pause nrofsecondstopausebetweensends] \n\t\t"+ - "[-message message] \n\t\t"+ - "[-name rpcname] \n\t\t"+ - "[-break (halts execution on exception)]\n"+ - "\tChannel options:"+ - ChannelCreator.usage()+"\n\n"+ - "Example:\n\t"+ - "java EchoRpcTest -port 4004\n\t"+ - "java EchoRpcTest -bind 192.168.0.45 -port 4005\n\t"+ - "java EchoRpcTest -bind 192.168.0.45 -port 4005 -mbind 192.168.0.45 -count 100 -stats 10\n"); - } + System.out.println("Tribes RPC tester."); + System.out.println("Usage:\n\t" + "java EchoRpcTest [options]\n\t" + "Options:\n\t\t" + + "[-mode all|first|majority] \n\t\t" + "[-debug] \n\t\t" + "[-count messagecount] \n\t\t" + + "[-timeout timeoutinms] \n\t\t" + "[-stats statinterval] \n\t\t" + + "[-pause nrofsecondstopausebetweensends] \n\t\t" + "[-message message] \n\t\t" + + "[-name rpcname] \n\t\t" + "[-break (halts execution on exception)]\n" + "\tChannel options:" + + ChannelCreator.usage() + "\n\n" + "Example:\n\t" + "java EchoRpcTest -port 4004\n\t" + + "java EchoRpcTest -bind 192.168.0.45 -port 4005\n\t" + + "java EchoRpcTest -bind 192.168.0.45 -port 4005 -mbind 192.168.0.45 -count 100 -stats 10\n"); + } - public static void main(String[] args) throws Exception { - long pause = 3000; - int count = 1000000; - int stats = 10000; - String name = "EchoRpcId"; - int options = RpcChannel.ALL_REPLY; - long timeout = 15000; - String message = "EchoRpcMessage"; - if (args.length == 0) { + public static void main(String[] args) throws Exception { + long pause = 3000; + int count = 1000000; + int stats = 10000; + String name = "EchoRpcId"; + int options = RpcChannel.ALL_REPLY; + long timeout = 15000; + String message = "EchoRpcMessage"; + if (args.length == 0) { + usage(); + System.exit(1); + } + for (int i = 0; i < args.length; i++) { + if ("-threads".equals(args[i])) { + // Not used + } else if ("-count".equals(args[i])) { + count = Integer.parseInt(args[++i]); + System.out.println("Sending " + count + " messages."); + } else if ("-pause".equals(args[i])) { + pause = Long.parseLong(args[++i]) * 1000; + } else if ("-break".equals(args[i])) { + // Not used + } else if ("-stats".equals(args[i])) { + stats = Integer.parseInt(args[++i]); + System.out.println("Stats every " + stats + " message"); + } else if ("-timeout".equals(args[i])) { + timeout = Long.parseLong(args[++i]); + } else if ("-message".equals(args[i])) { + message = args[++i]; + } else if ("-name".equals(args[i])) { + name = args[++i]; + } else if ("-mode".equals(args[i])) { + if ("all".equals(args[++i])) { + options = RpcChannel.ALL_REPLY; + } else if ("first".equals(args[i])) { + options = RpcChannel.FIRST_REPLY; + } else if ("majority".equals(args[i])) { + options = RpcChannel.MAJORITY_REPLY; + } + } else if ("-debug".equals(args[i])) { + // Not used + } else if ("-help".equals(args[i])) { usage(); System.exit(1); } - for (int i = 0; i < args.length; i++) { - if ("-threads".equals(args[i])) { - // Not used - } else if ("-count".equals(args[i])) { - count = Integer.parseInt(args[++i]); - System.out.println("Sending "+count+" messages."); - } else if ("-pause".equals(args[i])) { - pause = Long.parseLong(args[++i])*1000; - } else if ("-break".equals(args[i])) { - // Not used - } else if ("-stats".equals(args[i])) { - stats = Integer.parseInt(args[++i]); - System.out.println("Stats every "+stats+" message"); - } else if ("-timeout".equals(args[i])) { - timeout = Long.parseLong(args[++i]); - } else if ("-message".equals(args[i])) { - message = args[++i]; - } else if ("-name".equals(args[i])) { - name = args[++i]; - } else if ("-mode".equals(args[i])) { - if ( "all".equals(args[++i]) ) { - options = RpcChannel.ALL_REPLY; - } else if ( "first".equals(args[i]) ) { - options = RpcChannel.FIRST_REPLY; - } else if ( "majority".equals(args[i]) ) { - options = RpcChannel.MAJORITY_REPLY; - } - } else if ("-debug".equals(args[i])) { - // Not used - } else if ("-help".equals(args[i])) { - usage(); - System.exit(1); - } - } + } + + ManagedChannel channel = (ManagedChannel) ChannelCreator.createChannel(args); + EchoRpcTest test = new EchoRpcTest(channel, name, count, message, pause, options, timeout); + channel.start(Channel.DEFAULT); + Runtime.getRuntime().addShutdownHook(new Shutdown(channel)); + test.run(); - ManagedChannel channel = (ManagedChannel)ChannelCreator.createChannel(args); - EchoRpcTest test = new EchoRpcTest(channel,name,count,message,pause,options,timeout); - channel.start(Channel.DEFAULT); - Runtime.getRuntime().addShutdownHook(new Shutdown(channel)); - test.run(); + System.out.println("System test complete, sleeping to let threads finish."); + Thread.sleep(60 * 1000 * 60); + } + + public static class Shutdown extends Thread { + ManagedChannel channel = null; - System.out.println("System test complete, sleeping to let threads finish."); - Thread.sleep(60*1000*60); + public Shutdown(ManagedChannel channel) { + this.channel = channel; } - public static class Shutdown extends Thread { - ManagedChannel channel = null; - public Shutdown(ManagedChannel channel) { - this.channel = channel; - } + @Override + public void run() { + System.out.println("Shutting down..."); + SystemExit exit = new SystemExit(5000); + exit.setDaemon(true); + exit.start(); + try { + channel.stop(Channel.DEFAULT); - @Override - public void run() { - System.out.println("Shutting down..."); - SystemExit exit = new SystemExit(5000); - exit.setDaemon(true); - exit.start(); - try { - channel.stop(Channel.DEFAULT); - - }catch ( Exception x ) { - x.printStackTrace(); - } - System.out.println("Channel stopped."); + } catch (Exception x) { + x.printStackTrace(); } + System.out.println("Channel stopped."); } - public static class SystemExit extends Thread { - private long delay; - public SystemExit(long delay) { - this.delay = delay; - } - @Override - public void run () { - try { - Thread.sleep(delay); - }catch ( Exception x ) { - x.printStackTrace(); - } - System.exit(0); + } + + public static class SystemExit extends Thread { + private long delay; + public SystemExit(long delay) { + this.delay = delay; + } + + @Override + public void run() { + try { + Thread.sleep(delay); + } catch (Exception x) { + x.printStackTrace(); } - }} \ No newline at end of file + System.exit(0); + + } + } +} \ No newline at end of file diff --git a/test/org/apache/catalina/tribes/demos/IntrospectionUtils.java b/test/org/apache/catalina/tribes/demos/IntrospectionUtils.java index 885d56701c..d2aa2b1227 100644 --- a/test/org/apache/catalina/tribes/demos/IntrospectionUtils.java +++ b/test/org/apache/catalina/tribes/demos/IntrospectionUtils.java @@ -35,15 +35,13 @@ public final class IntrospectionUtils { private static final Log log = LogFactory.getLog(IntrospectionUtils.class); /* - * Find a method with the right name If found, call the method ( if param is - * int or boolean we'll convert value to the right type before) - that means - * you can have setDebug(1). + * Find a method with the right name If found, call the method ( if param is int or boolean we'll convert value to + * the right type before) - that means you can have setDebug(1). */ @SuppressWarnings("null") public static boolean setProperty(Object o, String name, String value) { if (log.isDebugEnabled()) { - log.debug("IntrospectionUtils: setProperty(" + - o.getClass() + " " + name + "=" + value + ")"); + log.debug("IntrospectionUtils: setProperty(" + o.getClass() + " " + name + "=" + value + ")"); } String setter = "set" + capitalize(name); @@ -56,10 +54,10 @@ public final class IntrospectionUtils { // First, the ideal case - a setFoo( String ) method for (Method item : methods) { Class<?> paramT[] = item.getParameterTypes(); - if (setter.equals(item.getName()) && paramT.length == 1 - && "java.lang.String".equals(paramT[0].getName())) { + if (setter.equals(item.getName()) && paramT.length == 1 && + "java.lang.String".equals(paramT[0].getName())) { - item.invoke(o, new Object[]{value}); + item.invoke(o, new Object[] { value }); return true; } } @@ -67,25 +65,21 @@ public final class IntrospectionUtils { // Try a setFoo ( int ) or ( boolean ) for (Method method : methods) { boolean ok = true; - if (setter.equals(method.getName()) - && method.getParameterTypes().length == 1) { + if (setter.equals(method.getName()) && method.getParameterTypes().length == 1) { // match - find the type and invoke it Class<?> paramType = method.getParameterTypes()[0]; Object params[] = new Object[1]; // Try a setFoo ( int ) - if ("java.lang.Integer".equals(paramType.getName()) - || "int".equals(paramType.getName())) { + if ("java.lang.Integer".equals(paramType.getName()) || "int".equals(paramType.getName())) { try { params[0] = Integer.valueOf(value); } catch (NumberFormatException ex) { ok = false; } // Try a setFoo ( long ) - } - else if ("java.lang.Long".equals(paramType.getName()) - || "long".equals(paramType.getName())) { + } else if ("java.lang.Long".equals(paramType.getName()) || "long".equals(paramType.getName())) { try { params[0] = Long.valueOf(value); } catch (NumberFormatException ex) { @@ -93,20 +87,17 @@ public final class IntrospectionUtils { } // Try a setFoo ( boolean ) - } - else if ("java.lang.Boolean".equals(paramType.getName()) - || "boolean".equals(paramType.getName())) { + } else if ("java.lang.Boolean".equals(paramType.getName()) || + "boolean".equals(paramType.getName())) { params[0] = Boolean.valueOf(value); // Try a setFoo ( InetAddress ) - } - else if ("java.net.InetAddress".equals(paramType - .getName())) { + } else if ("java.net.InetAddress".equals(paramType.getName())) { try { params[0] = InetAddress.getByName(value); } catch (UnknownHostException exc) { if (log.isDebugEnabled()) { - log.debug("IntrospectionUtils: Unable to resolve host name:" + value); + log.debug("IntrospectionUtils: Unable to resolve host name:" + value); } ok = false; } @@ -114,8 +105,7 @@ public final class IntrospectionUtils { // Unknown type } else { if (log.isDebugEnabled()) { - log.debug("IntrospectionUtils: Unknown type " + - paramType.getName()); + log.debug("IntrospectionUtils: Unknown type " + paramType.getName()); } } @@ -143,15 +133,14 @@ public final class IntrospectionUtils { params[1] = value; if (setPropertyMethodBool != null) { try { - return ((Boolean) setPropertyMethodBool.invoke(o, - params)).booleanValue(); - }catch (IllegalArgumentException biae) { - //the boolean method had the wrong - //parameter types. lets try the other - if (setPropertyMethodVoid!=null) { + return ((Boolean) setPropertyMethodBool.invoke(o, params)).booleanValue(); + } catch (IllegalArgumentException biae) { + // the boolean method had the wrong + // parameter types. lets try the other + if (setPropertyMethodVoid != null) { setPropertyMethodVoid.invoke(o, params); return true; - }else { + } else { throw biae; } } @@ -165,13 +154,13 @@ public final class IntrospectionUtils { log.warn("IAE " + o + " " + name + " " + value, ex2); } catch (SecurityException ex1) { if (log.isDebugEnabled()) { - log.debug("IntrospectionUtils: SecurityException for " + - o.getClass() + " " + name + "=" + value + ")", ex1); + log.debug("IntrospectionUtils: SecurityException for " + o.getClass() + " " + name + "=" + value + ")", + ex1); } } catch (IllegalAccessException iae) { if (log.isDebugEnabled()) { - log.debug("IntrospectionUtils: IllegalAccessException for " + - o.getClass() + " " + name + "=" + value + ")", iae); + log.debug("IntrospectionUtils: IllegalAccessException for " + o.getClass() + " " + name + "=" + value + + ")", iae); } } catch (InvocationTargetException ie) { Throwable cause = ie.getCause(); @@ -182,8 +171,8 @@ public final class IntrospectionUtils { throw (VirtualMachineError) cause; } if (log.isDebugEnabled()) { - log.debug("IntrospectionUtils: InvocationTargetException for " + - o.getClass() + " " + name + "=" + value + ")", ie); + log.debug("IntrospectionUtils: InvocationTargetException for " + o.getClass() + " " + name + "=" + + value + ")", ie); } } return false; @@ -210,12 +199,12 @@ public final class IntrospectionUtils { objectMethods.clear(); } - static Map<Class<?>,Method[]> objectMethods = new ConcurrentHashMap<>(); + static Map<Class<?>, Method[]> objectMethods = new ConcurrentHashMap<>(); public static Method[] findMethods(Class<?> c) { Method methods[] = objectMethods.get(c); if (methods != null) { - return methods; + return methods; } methods = c.getMethods(); diff --git a/test/org/apache/catalina/tribes/demos/LoadTest.java b/test/org/apache/catalina/tribes/demos/LoadTest.java index 0d27a1a440..b4c20c9ce0 100644 --- a/test/org/apache/catalina/tribes/demos/LoadTest.java +++ b/test/org/apache/catalina/tribes/demos/LoadTest.java @@ -29,7 +29,7 @@ import org.apache.catalina.tribes.MembershipListener; import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; -public class LoadTest implements MembershipListener,ChannelListener, Runnable { +public class LoadTest implements MembershipListener, ChannelListener, Runnable { private static final Log log = LogFactory.getLog(LoadTest.class); public static int size = 24000; public static final Object mutex = new Object(); @@ -37,11 +37,11 @@ public class LoadTest implements MembershipListener,ChannelListener, Runnable { public long bytesReceived = 0; public float mBytesReceived = 0; - public int messagesReceived = 0; + public int messagesReceived = 0; public boolean send = true; public boolean debug = false; public int msgCount = 100; - ManagedChannel channel=null; + ManagedChannel channel = null; public int statsInterval = 10000; public long pause = 0; public boolean breakonChannelException = false; @@ -54,48 +54,40 @@ public class LoadTest implements MembershipListener,ChannelListener, Runnable { public static long messagesSent = 0; public static long messageStartSendTime = 0; public static long messageEndSendTime = 0; - public static int threadCount = 0; + public static int threadCount = 0; public static synchronized void startTest() { threadCount++; - if ( messageStartSendTime == 0 ) { - messageStartSendTime = System.currentTimeMillis(); + if (messageStartSendTime == 0) { + messageStartSendTime = System.currentTimeMillis(); } } public static synchronized void endTest() { threadCount--; - if ( messageEndSendTime == 0 && threadCount==0 ) { - messageEndSendTime = System.currentTimeMillis(); + if (messageEndSendTime == 0 && threadCount == 0) { + messageEndSendTime = System.currentTimeMillis(); } } public static synchronized long addSendStats(long count) { - messagesSent+=count; + messagesSent += count; return 0l; } private static void printSendStats(long counter, int messageSize) { float cnt = counter; float size = messageSize; - float time = (System.currentTimeMillis()-messageStartSendTime) / 1000f; - log.info("****SEND STATS-"+Thread.currentThread().getName()+"*****"+ - "\n\tMessage count:"+counter+ - "\n\tTotal bytes :"+(long)(size*cnt)+ - "\n\tTotal seconds:"+(time)+ - "\n\tBytes/second :"+(size*cnt/time)+ - "\n\tMBytes/second:"+(size*cnt/time/1024f/1024f)); + float time = (System.currentTimeMillis() - messageStartSendTime) / 1000f; + log.info("****SEND STATS-" + Thread.currentThread().getName() + "*****" + "\n\tMessage count:" + counter + + "\n\tTotal bytes :" + (long) (size * cnt) + "\n\tTotal seconds:" + (time) + "\n\tBytes/second :" + + (size * cnt / time) + "\n\tMBytes/second:" + (size * cnt / time / 1024f / 1024f)); } - public LoadTest(ManagedChannel channel, - boolean send, - int msgCount, - boolean debug, - long pause, - int stats, - boolean breakOnEx) { + public LoadTest(ManagedChannel channel, boolean send, int msgCount, boolean debug, long pause, int stats, + boolean breakOnEx) { this.channel = channel; this.send = send; this.msgCount = msgCount; @@ -126,47 +118,47 @@ public class LoadTest implements MembershipListener,ChannelListener, Runnable { } } else { try { - //msg.setMsgNr((int)++total); + // msg.setMsgNr((int)++total); counter++; if (debug) { printArray(msg.getMessage()); } channel.send(channel.getMembers(), msg, channelOptions); - if ( pause > 0 ) { - if ( debug) { - System.out.println("Pausing sender for "+pause+" ms."); + if (pause > 0) { + if (debug) { + System.out.println("Pausing sender for " + pause + " ms."); } Thread.sleep(pause); } } catch (ChannelException x) { - if ( debug ) { - log.error("Unable to send message:"+x.getMessage(),x); + if (debug) { + log.error("Unable to send message:" + x.getMessage(), x); } - log.error("Unable to send message:"+x.getMessage()); + log.error("Unable to send message:" + x.getMessage()); ChannelException.FaultyMember[] faulty = x.getFaultyMembers(); for (ChannelException.FaultyMember faultyMember : faulty) { - log.error("Faulty: " + faultyMember); + log.error("Faulty: " + faultyMember); } --counter; - if ( this.breakonChannelException ) { - throw x; + if (this.breakonChannelException) { + throw x; } } } - if ( (counter % statsInterval) == 0 && (counter > 0)) { - //add to the global counter + if ((counter % statsInterval) == 0 && (counter > 0)) { + // add to the global counter counter = addSendStats(counter); - //print from the global counter - //printSendStats(LoadTest.messagesSent, LoadTest.messageSize, LoadTest.messageSendTime); + // print from the global counter + // printSendStats(LoadTest.messagesSent, LoadTest.messageSize, LoadTest.messageSendTime); printSendStats(LoadTest.messagesSent, LoadTest.messageSize); } } - }catch ( Exception x ) { - log.error("Captured error while sending:"+x.getMessage()); - if ( debug ) { - log.error("",x); + } catch (Exception x) { + log.error("Captured error while sending:" + x.getMessage()); + if (debug) { + log.error("", x); } printSendStats(LoadTest.messagesSent, LoadTest.messageSize); } @@ -177,13 +169,11 @@ public class LoadTest implements MembershipListener,ChannelListener, Runnable { /** * memberAdded * - * @param member Member - * TODO Implement this org.apache.catalina.tribes.MembershipListener - * method + * @param member Member TODO Implement this org.apache.catalina.tribes.MembershipListener method */ @Override public void memberAdded(Member member) { - log.info("Member added:"+member); + log.info("Member added:" + member); synchronized (mutex) { mutex.notifyAll(); } @@ -192,53 +182,48 @@ public class LoadTest implements MembershipListener,ChannelListener, Runnable { /** * memberDisappeared * - * @param member Member - * TODO Implement this org.apache.catalina.tribes.MembershipListener - * method + * @param member Member TODO Implement this org.apache.catalina.tribes.MembershipListener method */ @Override public void memberDisappeared(Member member) { - log.info("Member disappeared:"+member); + log.info("Member disappeared:" + member); } @Override - public boolean accept(Serializable msg, Member mbr){ - return (msg instanceof LoadMessage) || (msg instanceof ByteMessage); + public boolean accept(Serializable msg, Member mbr) { + return (msg instanceof LoadMessage) || (msg instanceof ByteMessage); } @Override - public void messageReceived(Serializable msg, Member mbr){ - if ( receiveStart == 0 ) { - receiveStart = System.currentTimeMillis(); + public void messageReceived(Serializable msg, Member mbr) { + if (receiveStart == 0) { + receiveStart = System.currentTimeMillis(); } - if ( debug ) { - if ( msg instanceof LoadMessage ) { - printArray(((LoadMessage)msg).getMessage()); + if (debug) { + if (msg instanceof LoadMessage) { + printArray(((LoadMessage) msg).getMessage()); } } - if ( msg instanceof ByteMessage && !(msg instanceof LoadMessage)) { + if (msg instanceof ByteMessage && !(msg instanceof LoadMessage)) { LoadMessage tmp = new LoadMessage(); - tmp.setMessage(((ByteMessage)msg).getMessage()); + tmp.setMessage(((ByteMessage) msg).getMessage()); msg = tmp; tmp = null; } - bytesReceived+=((LoadMessage)msg).getMessage().length; - mBytesReceived+=(((LoadMessage)msg).getMessage().length)/1024f/1024f; + bytesReceived += ((LoadMessage) msg).getMessage().length; + mBytesReceived += (((LoadMessage) msg).getMessage().length) / 1024f / 1024f; messagesReceived++; - if ( (messagesReceived%statsInterval)==0 || (messagesReceived==msgCount)) { - float bytes = (((LoadMessage)msg).getMessage().length*messagesReceived); - float seconds = (System.currentTimeMillis()-receiveStart) / 1000f; - log.info("****RECEIVE STATS-"+Thread.currentThread().getName()+"*****"+ - "\n\tMessage count :"+(long)messagesReceived+ - "\n\tMessage/sec :"+messagesReceived/seconds+ - "\n\tTotal bytes :"+(long)bytes+ - "\n\tTotal mbytes :"+(long)mBytesReceived+ - "\n\tTime since 1st:"+seconds+" seconds"+ - "\n\tBytes/second :"+(bytes/seconds)+ - "\n\tMBytes/second :"+(mBytesReceived/seconds)+"\n"); + if ((messagesReceived % statsInterval) == 0 || (messagesReceived == msgCount)) { + float bytes = (((LoadMessage) msg).getMessage().length * messagesReceived); + float seconds = (System.currentTimeMillis() - receiveStart) / 1000f; + log.info("****RECEIVE STATS-" + Thread.currentThread().getName() + "*****" + "\n\tMessage count :" + + (long) messagesReceived + "\n\tMessage/sec :" + messagesReceived / seconds + + "\n\tTotal bytes :" + (long) bytes + "\n\tTotal mbytes :" + (long) mBytesReceived + + "\n\tTime since 1st:" + seconds + " seconds" + "\n\tBytes/second :" + (bytes / seconds) + + "\n\tMBytes/second :" + (mBytesReceived / seconds) + "\n"); } } @@ -250,7 +235,7 @@ public class LoadTest implements MembershipListener,ChannelListener, Runnable { System.out.print(datum); System.out.print(","); } - System.out.println("} size:"+data.length); + System.out.println("} size:" + data.length); } @@ -258,9 +243,11 @@ public class LoadTest implements MembershipListener,ChannelListener, Runnable { public static byte[] outdata = new byte[size]; public static final Random r = new Random(); - public static int getMessageSize (LoadMessage msg) { + + public static int getMessageSize(LoadMessage msg) { return msg.getMessage().length; } + static { r.nextBytes(outdata); } @@ -273,7 +260,7 @@ public class LoadTest implements MembershipListener,ChannelListener, Runnable { @Override public byte[] getMessage() { - if ( message == null ) { + if (message == null) { message = outdata; } return message; @@ -288,26 +275,17 @@ public class LoadTest implements MembershipListener,ChannelListener, Runnable { public static void usage() { System.out.println("Tribes Load tester."); System.out.println("The load tester can be used in sender or received mode or both"); - System.out.println("Usage:\n\t"+ - "java LoadTest [options]\n\t"+ - "Options:\n\t\t"+ - "[-mode receive|send|both] \n\t\t"+ - "[-startoptions startflags (default is Channel.DEFAULT) ] \n\t\t"+ - "[-debug] \n\t\t"+ - "[-count messagecount] \n\t\t"+ - "[-stats statinterval] \n\t\t"+ - "[-pause nrofsecondstopausebetweensends] \n\t\t"+ - "[-threads numberofsenderthreads] \n\t\t"+ - "[-size messagesize] \n\t\t"+ - "[-sendoptions channeloptions] \n\t\t"+ - "[-break (halts execution on exception)]\n"+ - "[-shutdown (issues a channel.stop() command after send is completed)]\n"+ - "\tChannel options:"+ - ChannelCreator.usage()+"\n\n"+ - "Example:\n\t"+ - "java LoadTest -port 4004\n\t"+ - "java LoadTest -bind 192.168.0.45 -port 4005\n\t"+ - "java LoadTest -bind 192.168.0.45 -port 4005 -mbind 192.168.0.45 -count 100 -stats 10\n"); + System.out.println( + "Usage:\n\t" + "java LoadTest [options]\n\t" + "Options:\n\t\t" + "[-mode receive|send|both] \n\t\t" + + "[-startoptions startflags (default is Channel.DEFAULT) ] \n\t\t" + "[-debug] \n\t\t" + + "[-count messagecount] \n\t\t" + "[-stats statinterval] \n\t\t" + + "[-pause nrofsecondstopausebetweensends] \n\t\t" + "[-threads numberofsenderthreads] \n\t\t" + + "[-size messagesize] \n\t\t" + "[-sendoptions channeloptions] \n\t\t" + + "[-break (halts execution on exception)]\n" + + "[-shutdown (issues a channel.stop() command after send is completed)]\n" + + "\tChannel options:" + ChannelCreator.usage() + "\n\n" + "Example:\n\t" + + "java LoadTest -port 4004\n\t" + "java LoadTest -bind 192.168.0.45 -port 4005\n\t" + + "java LoadTest -bind 192.168.0.45 -port 4005 -mbind 192.168.0.45 -count 100 -stats 10\n"); } public static void main(String[] args) throws Exception { @@ -321,49 +299,48 @@ public class LoadTest implements MembershipListener,ChannelListener, Runnable { boolean shutdown = false; int startoptions = Channel.DEFAULT; int channelOptions = Channel.SEND_OPTIONS_DEFAULT; - if ( args.length == 0 ) { - args = new String[] {"-help"}; + if (args.length == 0) { + args = new String[] { "-help" }; } for (int i = 0; i < args.length; i++) { if ("-threads".equals(args[i])) { threads = Integer.parseInt(args[++i]); } else if ("-count".equals(args[i])) { count = Integer.parseInt(args[++i]); - System.out.println("Sending "+count+" messages."); + System.out.println("Sending " + count + " messages."); } else if ("-pause".equals(args[i])) { - pause = Long.parseLong(args[++i])*1000; + pause = Long.parseLong(args[++i]) * 1000; } else if ("-break".equals(args[i])) { breakOnEx = true; } else if ("-shutdown".equals(args[i])) { shutdown = true; } else if ("-stats".equals(args[i])) { stats = Integer.parseInt(args[++i]); - System.out.println("Stats every "+stats+" message"); + System.out.println("Stats every " + stats + " message"); } else if ("-sendoptions".equals(args[i])) { channelOptions = Integer.parseInt(args[++i]); - System.out.println("Setting send options to "+channelOptions); + System.out.println("Setting send options to " + channelOptions); } else if ("-startoptions".equals(args[i])) { startoptions = Integer.parseInt(args[++i]); - System.out.println("Setting start options to "+startoptions); + System.out.println("Setting start options to " + startoptions); } else if ("-size".equals(args[i])) { - size = Integer.parseInt(args[++i])-4; - System.out.println("Message size will be:"+(size+4)+" bytes"); + size = Integer.parseInt(args[++i]) - 4; + System.out.println("Message size will be:" + (size + 4) + " bytes"); } else if ("-mode".equals(args[i])) { - if ( "receive".equals(args[++i]) ) { - send = false; + if ("receive".equals(args[++i])) { + send = false; } } else if ("-debug".equals(args[i])) { debug = true; - } else if ("-help".equals(args[i])) - { + } else if ("-help".equals(args[i])) { usage(); System.exit(1); } } - ManagedChannel channel = (ManagedChannel)ChannelCreator.createChannel(args); + ManagedChannel channel = (ManagedChannel) ChannelCreator.createChannel(args); - LoadTest test = new LoadTest(channel,send,count,debug,pause,stats,breakOnEx); + LoadTest test = new LoadTest(channel, send, count, debug, pause, stats, breakOnEx); test.channelOptions = channelOptions; LoadMessage msg = new LoadMessage(); @@ -372,24 +349,25 @@ public class LoadTest implements MembershipListener,ChannelListener, Runnable { channel.addMembershipListener(test); channel.start(startoptions); Runtime.getRuntime().addShutdownHook(new Shutdown(channel)); - while ( threads > 1 ) { + while (threads > 1) { Thread t = new Thread(test); t.setDaemon(true); t.start(); threads--; - test = new LoadTest(channel,send,count,debug,pause,stats,breakOnEx); + test = new LoadTest(channel, send, count, debug, pause, stats, breakOnEx); test.channelOptions = channelOptions; } test.run(); - if ( shutdown && send ) { - channel.stop(Channel.DEFAULT); + if (shutdown && send) { + channel.stop(Channel.DEFAULT); } System.out.println("System test complete, sleeping to let threads finish."); - Thread.sleep(60*1000*60); + Thread.sleep(60 * 1000 * 60); } public static class Shutdown extends Thread { ManagedChannel channel = null; + public Shutdown(ManagedChannel channel) { this.channel = channel; } @@ -403,22 +381,25 @@ public class LoadTest implements MembershipListener,ChannelListener, Runnable { try { channel.stop(Channel.DEFAULT); - }catch ( Exception x ) { + } catch (Exception x) { x.printStackTrace(); } System.out.println("Channel stopped."); } } + public static class SystemExit extends Thread { private long delay; + public SystemExit(long delay) { this.delay = delay; } + @Override - public void run () { + public void run() { try { Thread.sleep(delay); - }catch ( Exception x ) { + } catch (Exception x) { x.printStackTrace(); } System.exit(0); diff --git a/test/org/apache/catalina/tribes/demos/MapDemo.java b/test/org/apache/catalina/tribes/demos/MapDemo.java index e15869a772..82a465b6bb 100644 --- a/test/org/apache/catalina/tribes/demos/MapDemo.java +++ b/test/org/apache/catalina/tribes/demos/MapDemo.java @@ -46,15 +46,14 @@ import org.apache.catalina.tribes.MembershipListener; import org.apache.catalina.tribes.tipis.LazyReplicatedMap; /** - * Example of how the lazy replicated map works, also shows how the BackupManager - * works in a Tomcat cluster. + * Example of how the lazy replicated map works, also shows how the BackupManager works in a Tomcat cluster. */ -public class MapDemo implements ChannelListener, MembershipListener{ +public class MapDemo implements ChannelListener, MembershipListener { /** * The Map containing the replicated data */ - protected LazyReplicatedMap<String,StringBuilder> map; + protected LazyReplicatedMap<String, StringBuilder> map; /** * Table to be displayed in Swing @@ -63,38 +62,38 @@ public class MapDemo implements ChannelListener, MembershipListener{ /** * Constructs a map demo object. + * * @param channel - the Tribes channel object to be used for communication * @param mapName - the name of this map */ - public MapDemo(Channel channel, String mapName ) { - //instantiate the replicated map + public MapDemo(Channel channel, String mapName) { + // instantiate the replicated map map = new LazyReplicatedMap<>(null, channel, 5000, mapName, null); - //create a gui, name it with the member name of this JVM - table = SimpleTableDemo.createAndShowGUI(map,channel.getLocalMember(false).getName()); - //add ourself as a listener for messages + // create a gui, name it with the member name of this JVM + table = SimpleTableDemo.createAndShowGUI(map, channel.getLocalMember(false).getName()); + // add ourself as a listener for messages channel.addChannelListener(this); - //add ourself as a listener for memberships + // add ourself as a listener for memberships channel.addMembershipListener(this); - //initialize the map by receiving a fake message - this.messageReceived(null,null); + // initialize the map by receiving a fake message + this.messageReceived(null, null); } /** - * Decides if the messageReceived should be invoked - * will always return false since we rely on the - * lazy map to do all the messaging for us + * Decides if the messageReceived should be invoked will always return false since we rely on the lazy map to do all + * the messaging for us */ @Override public boolean accept(Serializable msg, Member source) { - //simple refresh the table model - table.dataModel.getValueAt(-1,-1); + // simple refresh the table model + table.dataModel.getValueAt(-1, -1); return false; } /** - * Invoked if accept returns true. - * No op for now - * @param msg - the message received + * Invoked if accept returns true. No op for now + * + * @param msg - the message received * @param source - the sending member */ @Override @@ -115,8 +114,8 @@ public class MapDemo implements ChannelListener, MembershipListener{ */ @Override public void memberDisappeared(Member member) { - //just refresh the table model - table.dataModel.getValueAt(-1,-1); + // just refresh the table model + table.dataModel.getValueAt(-1, -1); } /** @@ -124,31 +123,30 @@ public class MapDemo implements ChannelListener, MembershipListener{ */ public static void usage() { System.out.println("Tribes MapDemo."); - System.out.println("Usage:\n\t" + - "java MapDemo [channel options] mapName\n\t" + - "\tChannel options:" + - ChannelCreator.usage()); + System.out.println("Usage:\n\t" + "java MapDemo [channel options] mapName\n\t" + "\tChannel options:" + + ChannelCreator.usage()); } @SuppressWarnings("unused") public static void main(String[] args) throws Exception { long start = System.currentTimeMillis(); - //create a channel object + // create a channel object ManagedChannel channel = (ManagedChannel) ChannelCreator.createChannel(args); - //define a map name, unless one is defined as a parameters + // define a map name, unless one is defined as a parameters String mapName = "MapDemo"; - if ( args.length > 0 && (!args[args.length-1].startsWith("-"))) { - mapName = args[args.length-1]; + if (args.length > 0 && (!args[args.length - 1].startsWith("-"))) { + mapName = args[args.length - 1]; } - //start the channel + // start the channel channel.start(Channel.DEFAULT); - //listen for shutdown + // listen for shutdown Runtime.getRuntime().addShutdownHook(new Shutdown(channel)); - //create a map demo object - new MapDemo(channel,mapName); + // create a map demo object + new MapDemo(channel, mapName); - //put the main thread to sleep until we are done - System.out.println("System test complete, time to start="+(System.currentTimeMillis()-start)+" ms. Sleeping to let threads finish."); + // put the main thread to sleep until we are done + System.out.println("System test complete, time to start=" + (System.currentTimeMillis() - start) + + " ms. Sleeping to let threads finish."); Thread.sleep(60 * 1000 * 60); } @@ -156,7 +154,7 @@ public class MapDemo implements ChannelListener, MembershipListener{ * Listens for shutdown events, and stops this instance */ public static class Shutdown extends Thread { - //the channel running in this demo + // the channel running in this demo ManagedChannel channel = null; public Shutdown(ManagedChannel channel) { @@ -167,12 +165,12 @@ public class MapDemo implements ChannelListener, MembershipListener{ @Override public void run() { System.out.println("Shutting down..."); - //create an exit thread that forces a shutdown if the JVM won't exit cleanly + // create an exit thread that forces a shutdown if the JVM won't exit cleanly SystemExit exit = new SystemExit(5000); exit.setDaemon(true); exit.start(); try { - //stop the channel + // stop the channel channel.stop(Channel.DEFAULT); } catch (Exception x) { x.printStackTrace(); @@ -183,6 +181,7 @@ public class MapDemo implements ChannelListener, MembershipListener{ public static class SystemExit extends Thread { private long delay; + public SystemExit(long delay) { this.delay = delay; } @@ -198,38 +197,34 @@ public class MapDemo implements ChannelListener, MembershipListener{ } } - public static class SimpleTableDemo extends JPanel - implements ActionListener { + public static class SimpleTableDemo extends JPanel implements ActionListener { private static final long serialVersionUID = 1L; private static int WIDTH = 550; - private LazyReplicatedMap<String,StringBuilder> map; + private LazyReplicatedMap<String, StringBuilder> map; private boolean DEBUG = false; AbstractTableModel dataModel = new AbstractTableModel() { private static final long serialVersionUID = 1L; - String[] columnNames = { - "Rownum", - "Key", - "Value", - "Primary Node", - "Backup Node", - "isPrimary", - "isProxy", - "isBackup"}; + String[] columnNames = { "Rownum", "Key", "Value", "Primary Node", "Backup Node", "isPrimary", "isProxy", + "isBackup" }; @Override - public int getColumnCount() { return columnNames.length; } + public int getColumnCount() { + return columnNames.length; + } @Override - public int getRowCount() {return map.sizeFull() +1; } + public int getRowCount() { + return map.sizeFull() + 1; + } - public StringBuilder getMemberNames(Member[] members){ + public StringBuilder getMemberNames(Member[] members) { StringBuilder buf = new StringBuilder(); - if ( members!=null ) { + if (members != null) { for (Member member : members) { buf.append(member.getName()); buf.append("; "); @@ -240,27 +235,35 @@ public class MapDemo implements ChannelListener, MembershipListener{ @Override public Object getValueAt(int row, int col) { - if ( row==-1 ) { + if (row == -1) { update(); return ""; } - if ( row == 0 ) { - return columnNames[col]; + if (row == 0) { + return columnNames[col]; } Object[] keys = map.keySetFull().toArray(); - String key = (String)keys [row-1]; - LazyReplicatedMap.MapEntry<String,StringBuilder> entry = - map.getInternal(key); + String key = (String) keys[row - 1]; + LazyReplicatedMap.MapEntry<String, StringBuilder> entry = map.getInternal(key); switch (col) { - case 0: return String.valueOf(row); - case 1: return entry.getKey(); - case 2: return entry.getValue(); - case 3: return entry.getPrimary()!=null?entry.getPrimary().getName():"null"; - case 4: return getMemberNames(entry.getBackupNodes()); - case 5: return Boolean.valueOf(entry.isPrimary()); - case 6: return Boolean.valueOf(entry.isProxy()); - case 7: return Boolean.valueOf(entry.isBackup()); - default: return ""; + case 0: + return String.valueOf(row); + case 1: + return entry.getKey(); + case 2: + return entry.getValue(); + case 3: + return entry.getPrimary() != null ? entry.getPrimary().getName() : "null"; + case 4: + return getMemberNames(entry.getBackupNodes()); + case 5: + return Boolean.valueOf(entry.isPrimary()); + case 6: + return Boolean.valueOf(entry.isProxy()); + case 7: + return Boolean.valueOf(entry.isBackup()); + default: + return ""; } } @@ -277,17 +280,18 @@ public class MapDemo implements ChannelListener, MembershipListener{ JTextField txtChangeValue = new JTextField(20); JTable table = null; - public SimpleTableDemo(LazyReplicatedMap<String,StringBuilder> map) { + + public SimpleTableDemo(LazyReplicatedMap<String, StringBuilder> map) { super(); this.map = map; this.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT); - //final JTable table = new JTable(data, columnNames); + // final JTable table = new JTable(data, columnNames); table = new JTable(dataModel); table.setPreferredScrollableViewportSize(new Dimension(WIDTH, 150)); - for ( int i=0; i<table.getColumnCount(); i++ ) { + for (int i = 0; i < table.getColumnCount(); i++) { TableColumn tm = table.getColumnModel().getColumn(i); tm.setCellRenderer(new ColorRenderer()); } @@ -302,49 +306,49 @@ public class MapDemo implements ChannelListener, MembershipListener{ }); } - //setLayout(new GridLayout(5, 0)); + // setLayout(new GridLayout(5, 0)); setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); - //Create the scroll pane and add the table to it. + // Create the scroll pane and add the table to it. JScrollPane scrollPane = new JScrollPane(table); - //Add the scroll pane to this panel. + // Add the scroll pane to this panel. add(scrollPane); - //create a add value button + // create a add value button JPanel addpanel = new JPanel(); - addpanel.setPreferredSize(new Dimension(WIDTH,30)); - addpanel.add(createButton("Add","add")); + addpanel.setPreferredSize(new Dimension(WIDTH, 30)); + addpanel.add(createButton("Add", "add")); addpanel.add(txtAddKey); addpanel.add(txtAddValue); - addpanel.setMaximumSize(new Dimension(WIDTH,30)); + addpanel.setMaximumSize(new Dimension(WIDTH, 30)); add(addpanel); - //create a remove value button - JPanel removepanel = new JPanel( ); - removepanel.setPreferredSize(new Dimension(WIDTH,30)); - removepanel.add(createButton("Remove","remove")); + // create a remove value button + JPanel removepanel = new JPanel(); + removepanel.setPreferredSize(new Dimension(WIDTH, 30)); + removepanel.add(createButton("Remove", "remove")); removepanel.add(txtRemoveKey); - removepanel.setMaximumSize(new Dimension(WIDTH,30)); + removepanel.setMaximumSize(new Dimension(WIDTH, 30)); add(removepanel); - //create a change value button - JPanel changepanel = new JPanel( ); - changepanel.add(createButton("Change","change")); + // create a change value button + JPanel changepanel = new JPanel(); + changepanel.add(createButton("Change", "change")); changepanel.add(txtChangeKey); changepanel.add(txtChangeValue); - changepanel.setPreferredSize(new Dimension(WIDTH,30)); - changepanel.setMaximumSize(new Dimension(WIDTH,30)); + changepanel.setPreferredSize(new Dimension(WIDTH, 30)); + changepanel.setMaximumSize(new Dimension(WIDTH, 30)); add(changepanel); - //create sync button - JPanel syncpanel = new JPanel( ); - syncpanel.add(createButton("Synchronize","sync")); - syncpanel.add(createButton("Replicate","replicate")); - syncpanel.add(createButton("Random","random")); - syncpanel.setPreferredSize(new Dimension(WIDTH,30)); - syncpanel.setMaximumSize(new Dimension(WIDTH,30)); + // create sync button + JPanel syncpanel = new JPanel(); + syncpanel.add(createButton("Synchronize", "sync")); + syncpanel.add(createButton("Replicate", "replicate")); + syncpanel.add(createButton("Random", "random")); + syncpanel.setPreferredSize(new Dimension(WIDTH, 30)); + syncpanel.setMaximumSize(new Dimension(WIDTH, 30)); add(syncpanel); @@ -360,37 +364,37 @@ public class MapDemo implements ChannelListener, MembershipListener{ @Override public void actionPerformed(ActionEvent e) { System.out.println(e.getActionCommand()); - if ( "add".equals(e.getActionCommand()) ) { - System.out.println("Add key:"+txtAddKey.getText()+" value:"+txtAddValue.getText()); - map.put(txtAddKey.getText(),new StringBuilder(txtAddValue.getText())); + if ("add".equals(e.getActionCommand())) { + System.out.println("Add key:" + txtAddKey.getText() + " value:" + txtAddValue.getText()); + map.put(txtAddKey.getText(), new StringBuilder(txtAddValue.getText())); } - if ( "change".equals(e.getActionCommand()) ) { - System.out.println("Change key:"+txtChangeKey.getText()+" value:"+txtChangeValue.getText()); + if ("change".equals(e.getActionCommand())) { + System.out.println("Change key:" + txtChangeKey.getText() + " value:" + txtChangeValue.getText()); StringBuilder buf = map.get(txtChangeKey.getText()); - if ( buf!=null ) { - buf.delete(0,buf.length()); + if (buf != null) { + buf.delete(0, buf.length()); buf.append(txtChangeValue.getText()); - map.replicate(txtChangeKey.getText(),true); + map.replicate(txtChangeKey.getText(), true); } else { buf = new StringBuilder(); buf.append(txtChangeValue.getText()); - map.put(txtChangeKey.getText(),buf); + map.put(txtChangeKey.getText(), buf); } } - if ( "remove".equals(e.getActionCommand()) ) { - System.out.println("Remove key:"+txtRemoveKey.getText()); + if ("remove".equals(e.getActionCommand())) { + System.out.println("Remove key:" + txtRemoveKey.getText()); map.remove(txtRemoveKey.getText()); } - if ( "sync".equals(e.getActionCommand()) ) { + if ("sync".equals(e.getActionCommand())) { System.out.println("Syncing from another node."); map.transferState(); } - if ( "random".equals(e.getActionCommand()) ) { + if ("random".equals(e.getActionCommand())) { Thread t = new Thread() { @Override public void run() { for (int i = 0; i < 5; i++) { - String key = random(5,0,0,true,true,null); + String key = random(5, 0, 0, true, true, null); map.put(key, new StringBuilder(key)); dataModel.fireTableDataChanged(); table.paint(table.getGraphics()); @@ -405,16 +409,16 @@ public class MapDemo implements ChannelListener, MembershipListener{ t.start(); } - if ( "replicate".equals(e.getActionCommand()) ) { + if ("replicate".equals(e.getActionCommand())) { System.out.println("Replicating out to the other nodes."); map.replicate(true); } - dataModel.getValueAt(-1,-1); + dataModel.getValueAt(-1, -1); } public static final Random random = new Random(); - public static String random(int count, int start, int end, boolean letters, boolean numbers, - char[] chars ) { + + public static String random(int count, int start, int end, boolean letters, boolean numbers, char[] chars) { if (count == 0) { return ""; } else if (count < 0) { @@ -439,12 +443,10 @@ public class MapDemo implements ChannelListener, MembershipListener{ } else { ch = chars[random.nextInt(gap) + start]; } - if ((letters && Character.isLetter(ch)) - || (numbers && Character.isDigit(ch)) - || (!letters && !numbers)) - { - if(ch >= 56320 && ch <= 57343) { - if(count == 0) { + if ((letters && Character.isLetter(ch)) || (numbers && Character.isDigit(ch)) || + (!letters && !numbers)) { + if (ch >= 56320 && ch <= 57343) { + if (count == 0) { count++; } else { // low surrogate, insert high surrogate after putting it in @@ -452,8 +454,8 @@ public class MapDemo implements ChannelListener, MembershipListener{ count--; buffer[count] = (char) (55296 + random.nextInt(128)); } - } else if(ch >= 55296 && ch <= 56191) { - if(count == 0) { + } else if (ch >= 55296 && ch <= 56191) { + if (count == 0) { count++; } else { // high surrogate, insert low surrogate before putting it in @@ -461,7 +463,7 @@ public class MapDemo implements ChannelListener, MembershipListener{ count--; buffer[count] = ch; } - } else if(ch >= 56192 && ch <= 56319) { + } else if (ch >= 56192 && ch <= 56319) { // private high surrogate, no effing clue, so skip it count++; } else { @@ -472,7 +474,7 @@ public class MapDemo implements ChannelListener, MembershipListener{ } } return new String(buffer); - } + } private void printDebugData(JTable table) { int numRows = table.getRowCount(); @@ -491,27 +493,25 @@ public class MapDemo implements ChannelListener, MembershipListener{ } /* - * Create the GUI and show it. For thread safety, - * this method should be invoked from the - * event-dispatching thread. + * Create the GUI and show it. For thread safety, this method should be invoked from the event-dispatching + * thread. */ - public static SimpleTableDemo createAndShowGUI( - LazyReplicatedMap<String,StringBuilder> map, String title) { - //Make sure we have nice window decorations. + public static SimpleTableDemo createAndShowGUI(LazyReplicatedMap<String, StringBuilder> map, String title) { + // Make sure we have nice window decorations. JFrame.setDefaultLookAndFeelDecorated(true); - //Create and set up the window. - JFrame frame = new JFrame("SimpleTableDemo - "+title); + // Create and set up the window. + JFrame frame = new JFrame("SimpleTableDemo - " + title); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - //Create and set up the content pane. + // Create and set up the content pane. SimpleTableDemo newContentPane = new SimpleTableDemo(map); - newContentPane.setOpaque(true); //content panes must be opaque + newContentPane.setOpaque(true); // content panes must be opaque frame.setContentPane(newContentPane); - //Display the window. - frame.setSize(450,250); - newContentPane.setSize(450,300); + // Display the window. + frame.setSize(450, 250); + newContentPane.setSize(450, 300); frame.pack(); frame.setVisible(true); return newContentPane; @@ -527,26 +527,24 @@ public class MapDemo implements ChannelListener, MembershipListener{ } @Override - public Component getTableCellRendererComponent - (JTable table, Object value, boolean isSelected, - boolean hasFocus, int row, int column) { - Component cell = super.getTableCellRendererComponent - (table, value, isSelected, hasFocus, row, column); + public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, + int row, int column) { + Component cell = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); cell.setBackground(Color.WHITE); - if ( row > 0 ) { + if (row > 0) { Color color = null; - boolean primary = ( (Boolean) table.getValueAt(row, 5)).booleanValue(); - boolean proxy = ( (Boolean) table.getValueAt(row, 6)).booleanValue(); - boolean backup = ( (Boolean) table.getValueAt(row, 7)).booleanValue(); + boolean primary = ((Boolean) table.getValueAt(row, 5)).booleanValue(); + boolean proxy = ((Boolean) table.getValueAt(row, 6)).booleanValue(); + boolean backup = ((Boolean) table.getValueAt(row, 7)).booleanValue(); if (primary) { - color = Color.GREEN; + color = Color.GREEN; } else if (proxy) { - color = Color.RED; + color = Color.RED; } else if (backup) { - color = Color.BLUE; + color = Color.BLUE; } - if ( color != null ) { - cell.setBackground(color); + if (color != null) { + cell.setBackground(color); } } return cell; diff --git a/test/org/apache/catalina/tribes/demos/MembersWithProperties.java b/test/org/apache/catalina/tribes/demos/MembersWithProperties.java index e2722fa904..7966bb665b 100644 --- a/test/org/apache/catalina/tribes/demos/MembersWithProperties.java +++ b/test/org/apache/catalina/tribes/demos/MembersWithProperties.java @@ -28,18 +28,18 @@ import org.apache.catalina.tribes.MembershipListener; import org.apache.catalina.tribes.util.Arrays; import org.apache.catalina.tribes.util.UUIDGenerator; -public class MembersWithProperties implements MembershipListener{ +public class MembersWithProperties implements MembershipListener { static Thread main; public MembersWithProperties(Channel channel, Properties props) throws IOException { channel.addMembershipListener(this); - ManagedChannel mchannel = (ManagedChannel)channel; + ManagedChannel mchannel = (ManagedChannel) channel; mchannel.getMembershipService().setPayload(getPayload(props)); } byte[] getPayload(Properties props) throws IOException { ByteArrayOutputStream bout = new ByteArrayOutputStream(); - props.store(bout,""); + props.store(bout, ""); return bout.toByteArray(); } @@ -53,10 +53,10 @@ public class MembersWithProperties implements MembershipListener{ @Override public void memberAdded(Member member) { try { - System.out.println("Received member added:"+member); - System.out.println("Payload["+member+"] :"); - getProperties(member.getPayload()).store(System.out,""); - }catch ( Exception x ) { + System.out.println("Received member added:" + member); + System.out.println("Payload[" + member + "] :"); + getProperties(member.getPayload()).store(System.out, ""); + } catch (Exception x) { x.printStackTrace(); } } @@ -64,48 +64,45 @@ public class MembersWithProperties implements MembershipListener{ @Override public void memberDisappeared(Member member) { try { - System.out.println("Received member disappeared:"+member); - System.out.println("Payload["+member+"] :"); - getProperties(member.getPayload()).store(System.out,""); - }catch ( Exception x ) { + System.out.println("Received member disappeared:" + member); + System.out.println("Payload[" + member + "] :"); + getProperties(member.getPayload()).store(System.out, ""); + } catch (Exception x) { x.printStackTrace(); } } public static void usage() { System.out.println("Tribes Member Properties demo."); - System.out.println("Usage:\n\t" + - "java MemberWithProperties \n\t" + - "Channel options:" + - ChannelCreator.usage() + "\n\n" + - "Example:\n\t" + - "java MembersWithProperties -port 4004\n\t" + - "java MembersWithProperties -bind 192.168.0.45 -port 4005\n\t" + - "java MembersWithProperties -bind 192.168.0.45 -port 4005 -mbind 192.168.0.45 -count 100 -stats 10\n"); + System.out.println("Usage:\n\t" + "java MemberWithProperties \n\t" + "Channel options:" + + ChannelCreator.usage() + "\n\n" + "Example:\n\t" + "java MembersWithProperties -port 4004\n\t" + + "java MembersWithProperties -bind 192.168.0.45 -port 4005\n\t" + + "java MembersWithProperties -bind 192.168.0.45 -port 4005 -mbind 192.168.0.45 -count 100 -stats 10\n"); } @SuppressWarnings("unused") public static void main(String[] args) throws Exception { - if (args.length==0) { - usage(); + if (args.length == 0) { + usage(); } main = Thread.currentThread(); ManagedChannel channel = (ManagedChannel) ChannelCreator.createChannel(args); Properties props = new Properties(); - props.setProperty("mydomainkey","mydomainvalue"); + props.setProperty("mydomainkey", "mydomainvalue"); props.setProperty("someotherkey", Arrays.toString(UUIDGenerator.randomUUID(true))); new MembersWithProperties(channel, props); channel.start(Channel.DEFAULT); Runtime.getRuntime().addShutdownHook(new Shutdown(channel)); try { Thread.sleep(Long.MAX_VALUE); - }catch(InterruptedException ix) { - Thread.sleep(5000);//allow everything to shutdown + } catch (InterruptedException ix) { + Thread.sleep(5000);// allow everything to shutdown } } public static class Shutdown extends Thread { ManagedChannel channel = null; + public Shutdown(ManagedChannel channel) { this.channel = channel; } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org