summaryrefslogtreecommitdiff
path: root/qpid/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
commit6c32dd7ce1d7919f1c8f79752d20c3a341062aad (patch)
treea909fe6d1ec64c680b7b8bf6b9d0b830e987057c /qpid/cpp/src/tests/consume.cpp
parent5827482775336cd49f24bba381beb6812778a622 (diff)
downloadqpid-python-6c32dd7ce1d7919f1c8f79752d20c3a341062aad.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@739378 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src/tests/consume.cpp')
-rw-r--r--qpid/cpp/src/tests/consume.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/qpid/cpp/src/tests/consume.cpp b/qpid/cpp/src/tests/consume.cpp
index 4d74b8ae57..3aacf8b3da 100644
--- a/qpid/cpp/src/tests/consume.cpp
+++ b/qpid/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.