diff options
| author | Ted Ross <tross@apache.org> | 2008-10-16 19:45:14 +0000 |
|---|---|---|
| committer | Ted Ross <tross@apache.org> | 2008-10-16 19:45:14 +0000 |
| commit | 879ef8cf4fa5d0c935d52d0fcb1d7e81929cf2d5 (patch) | |
| tree | 10dfe6ac67860a559e9b66680ec4a2c8715691c5 /cpp/src/qpid/broker/Bridge.cpp | |
| parent | 92b8daec32ca76cbfdd02558e45d41ff7373f6ef (diff) | |
| download | qpid-python-879ef8cf4fa5d0c935d52d0fcb1d7e81929cf2d5.tar.gz | |
QPID-1366 - implementation of automatic anti-looping for federation
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@705337 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/Bridge.cpp')
| -rw-r--r-- | cpp/src/qpid/broker/Bridge.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/cpp/src/qpid/broker/Bridge.cpp b/cpp/src/qpid/broker/Bridge.cpp index 65ed38b731..5064320efb 100644 --- a/cpp/src/qpid/broker/Bridge.cpp +++ b/cpp/src/qpid/broker/Bridge.cpp @@ -91,11 +91,21 @@ void Bridge::create(ConnectionState& c) string queue = "bridge_queue_"; queue += Uuid(true).str(); FieldTable queueSettings; + if (args.i_tag.size()) { queueSettings.setString("qpid.trace.id", args.i_tag); + } else { + const string& localTag = link->getBroker()->getFederationTag(); + if (localTag.size()) + queueSettings.setString("qpid.trace.id", localTag); } + if (args.i_excludes.size()) { queueSettings.setString("qpid.trace.exclude", args.i_excludes); + } else { + const string& peerTag = c.getFederationPeerTag(); + if (peerTag.size()) + queueSettings.setString("qpid.trace.exclude", peerTag); } bool durable = false;//should this be an arg, or would be use srcIsQueue for durable queues? |
