diff options
| author | Jonathan Robie <jonathan@apache.org> | 2011-01-07 19:44:02 +0000 |
|---|---|---|
| committer | Jonathan Robie <jonathan@apache.org> | 2011-01-07 19:44:02 +0000 |
| commit | ba23fa61657796afff7e2802664e6c00b229fd59 (patch) | |
| tree | a5defdf0fe85914241b552c7ea7ec8a4beb40739 /python | |
| parent | cf314a46da3f3240ebe9d2e6869c1f95c288748c (diff) | |
| download | qpid-python-ba23fa61657796afff7e2802664e6c00b229fd59.tar.gz | |
Eliminates duplicate ExchangeBind when x-bindings are present.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1056473 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'python')
| -rw-r--r-- | python/qpid/messaging/driver.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/python/qpid/messaging/driver.py b/python/qpid/messaging/driver.py index f6378c39ea..2eb2c1863e 100644 --- a/python/qpid/messaging/driver.py +++ b/python/qpid/messaging/driver.py @@ -82,6 +82,7 @@ class Pattern: # XXX: this should become part of the driver def _bind(self, sst, exchange, queue): from qpid.ops import ExchangeBind + sst.write_cmd(ExchangeBind(exchange=exchange, queue=queue, binding_key=self.value.replace("*", "#"))) @@ -244,8 +245,10 @@ class LinkIn: overrides=declare) _rcv.on_unlink = [QueueDelete(_rcv._queue)] subject = _rcv.subject or SUBJECT_DEFAULTS.get(subtype) - sst.write_cmd(ExchangeBind(_rcv._queue, _rcv.name, subject)) bindings = get_bindings(link_opts, _rcv._queue, _rcv.name, subject) + if not bindings: + sst.write_cmd(ExchangeBind(_rcv._queue, _rcv.name, subject)) + elif type == "queue": _rcv._queue = _rcv.name if _rcv.options.get("mode", "consume") == "browse": |
