summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/Bridge.cpp
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2008-04-29 20:01:33 +0000
committerGordon Sim <gsim@apache.org>2008-04-29 20:01:33 +0000
commite2c3c63774918a303ea495b3c01a1601fde78bed (patch)
treeec2a91389821653b1270b9d8493e6e6114c961b8 /cpp/src/qpid/broker/Bridge.cpp
parent9f153bc328112ed2ee25a801eff1f6a277c7bb19 (diff)
downloadqpid-python-e2c3c63774918a303ea495b3c01a1601fde78bed.tar.gz
QPID-977: shutdown mgmt client cleanly in federation tests (patch from tross@redhat.com)
QPID-981: added custom options to queue declare to tag each message as it goes through a bridge queue and allow loop prevention through specifying exclusions git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@652075 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/Bridge.cpp')
-rw-r--r--cpp/src/qpid/broker/Bridge.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/cpp/src/qpid/broker/Bridge.cpp b/cpp/src/qpid/broker/Bridge.cpp
index ea9a41ac9d..8c4b5d6faf 100644
--- a/cpp/src/qpid/broker/Bridge.cpp
+++ b/cpp/src/qpid/broker/Bridge.cpp
@@ -59,7 +59,16 @@ void Bridge::create()
} else {
string queue = "bridge_queue_";
queue += Uuid(true).str();
- peer.getQueue().declare(queue, "", false, false, true, true, FieldTable());
+ FieldTable queueSettings;
+ if (args.i_id.size()) {
+ queueSettings.setString("qpid.trace.id", args.i_id);
+ }
+ if (args.i_excludes.size()) {
+ queueSettings.setString("qpid.trace.exclude", args.i_excludes);
+ }
+ bool durable = false;//should this be an arg, or would be use src_is_queue for durable queues?
+ bool autoDelete = !durable;//auto delete transient queues?
+ peer.getQueue().declare(queue, "", false, durable, true, autoDelete, queueSettings);
peer.getExchange().bind(queue, args.i_src, args.i_key, FieldTable());
peer.getMessage().subscribe(queue, args.i_dest, 0, 0, false, "", 0, FieldTable());
peer.getMessage().flow(args.i_dest, 0, 0xFFFFFFFF);