summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Robie <jonathan@apache.org>2010-08-19 20:40:26 +0000
committerJonathan Robie <jonathan@apache.org>2010-08-19 20:40:26 +0000
commit31a02f6d7c84a7b10b295967f6a06551171e7c28 (patch)
tree31ede2966d3fe7b21f328c7e04c1c7c549488d0d
parent66f8900e29660afde4fd3383e062301e50bf9831 (diff)
downloadqpid-python-31a02f6d7c84a7b10b295967f6a06551171e7c28.tar.gz
Added -c count parameter - exits after reading c messages.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@987303 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--java/client/example/src/main/java/org/apache/qpid/example/Drain.java19
1 files changed, 19 insertions, 0 deletions
diff --git a/java/client/example/src/main/java/org/apache/qpid/example/Drain.java b/java/client/example/src/main/java/org/apache/qpid/example/Drain.java
index 51491326c4..831cea8745 100644
--- a/java/client/example/src/main/java/org/apache/qpid/example/Drain.java
+++ b/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();