summaryrefslogtreecommitdiff
path: root/cpp/src/tests/consume.cpp
diff options
context:
space:
mode:
authorCarl C. Trieloff <cctrieloff@apache.org>2009-01-30 18:59:24 +0000
committerCarl C. Trieloff <cctrieloff@apache.org>2009-01-30 18:59:24 +0000
commitbcfa0a86baebb2598c0be270121d98a0f31b19c6 (patch)
tree726ac7a2e448a6a2d60752b63fd0d8c9ca7c9b31 /cpp/src/tests/consume.cpp
parenta74a06df1f2dddc5c58e33b7a7290c712510e941 (diff)
downloadqpid-python-bcfa0a86baebb2598c0be270121d98a0f31b19c6.tar.gz
Correction for: start a broker in cluster, send messages that are flow to disk, then join a broker to the cluster. Then consume from the new node. Cotent released messages where loosing content. This patch corrects that.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@739378 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/tests/consume.cpp')
-rw-r--r--cpp/src/tests/consume.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/cpp/src/tests/consume.cpp b/cpp/src/tests/consume.cpp
index 4d74b8ae57..3aacf8b3da 100644
--- a/cpp/src/tests/consume.cpp
+++ b/cpp/src/tests/consume.cpp
@@ -44,15 +44,19 @@ struct Args : public qpid::TestOptions {
string queue;
bool declare;
bool summary;
+ bool print;
+ bool durable;
Args() : count(1000), ack(0), queue("publish-consume"),
- declare(false), summary(false)
+ declare(false), summary(false), print(false)
{
addOptions()
("count", optValue(count, "N"), "number of messages to publish")
("ack-frequency", optValue(ack, "N"), "ack every N messages (0 means use no-ack mode)")
("queue", optValue(queue, "<queue name>"), "queue to consume from")
("declare", optValue(declare), "declare the queue")
+ ("durable", optValue(durable), "declare the queue durable, use with declare")
+ ("print-data", optValue(print), "Print the recieved data at info level")
("s,summary", optValue(summary), "Print undecorated rate.");
}
};
@@ -73,7 +77,7 @@ struct Client
void consume()
{
if (opts.declare)
- session.queueDeclare(opts.queue);
+ session.queueDeclare(arg::queue=opts.queue, arg::durable=opts.durable);
SubscriptionManager subs(session);
LocalQueue lq;
SubscriptionSettings settings;
@@ -85,6 +89,7 @@ struct Client
for (size_t i = 0; i < opts.count; ++i) {
msg=lq.pop();
QPID_LOG(info, "Received: " << msg.getMessageProperties().getCorrelationId());
+ if (opts.print) QPID_LOG(info, "Data: " << msg.getData());
}
if (opts.ack != 0)
sub.accept(sub.getUnaccepted()); // Cumulative ack for final batch.