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
commita5cfcf2ab430f679f668440d258fbb23d4ad86ba (patch)
tree2d09220b34070fa8080653a693ea38e8f2867b22
parentf5236e04ddf587a13f989f8bb33cb042fbdf3140 (diff)
downloadqpid-python-a5cfcf2ab430f679f668440d258fbb23d4ad86ba.tar.gz
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
-rw-r--r--qpid/java/client/example/src/main/java/org/apache/qpid/example/Drain.java19
1 files changed, 19 insertions, 0 deletions
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();