From a5cfcf2ab430f679f668440d258fbb23d4ad86ba Mon Sep 17 00:00:00 2001 From: Jonathan Robie Date: Thu, 19 Aug 2010 20:40:26 +0000 Subject: Added -c count parameter - exits after reading c messages. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@987303 13f79535-47bb-0310-9956-ffa450edef68 --- .../src/main/java/org/apache/qpid/example/Drain.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/qpid/java/client/example/src/main/java/org/apache/qpid/example/Drain.java b/qpid/java/client/example/src/main/java/org/apache/qpid/example/Drain.java index 51491326c4..831cea8745 100644 --- a/qpid/java/client/example/src/main/java/org/apache/qpid/example/Drain.java +++ b/qpid/java/client/example/src/main/java/org/apache/qpid/example/Drain.java @@ -40,12 +40,21 @@ public class Drain extends OptionParser null, Boolean.class); + static final Option COUNT = new Option ("c", + "count", + "read c messages, then exit", + "COUNT", + "0", + Integer.class); + + static { optDefs.add(BROKER); optDefs.add(HELP); optDefs.add(TIMEOUT); optDefs.add(FOREVER); + optDefs.add(COUNT); optDefs.add(CON_OPTIONS); optDefs.add(BROKER_OPTIONS); } @@ -62,14 +71,24 @@ public class Drain extends OptionParser Message msg; long timeout = -1; + int count = 0; + int i = 0; + if (containsOp(TIMEOUT)) { timeout = Integer.parseInt(getOp(TIMEOUT))*1000; } if (containsOp(FOREVER)) { timeout = 0; } + if (containsOp(COUNT)) { count = Integer.parseInt(getOp(COUNT)); } while ((msg = consumer.receive(timeout)) != null) { System.out.println("\n------------- Msg -------------"); System.out.println(msg); System.out.println("-------------------------------\n"); + + if (count > 0) { + if (++i == count) { + break; + } + } } ssn.close(); -- cgit v1.2.1