qpid-route prevents linking between exchanges on the same broker.
-----------------------------------------------------------------
Key: QPID-3548
URL: https://issues.apache.org/jira/browse/QPID-3548
Project: Qpid
Issue Type: New Feature
Components: Tools
Affects Versions: 0.10
Environment: qpid-route
Reporter: Fraser Adams
Priority: Trivial
qpid-route has a test in the addLink method that explicitly prevents a user
from creating a link between nodes on the same broker e.g.
def addLink(self, remoteBroker, interbroker_mechanism=""):
self.remote = BrokerURL(remoteBroker)
if self.local.match(self.remote.host, self.remote.port):
raise Exception("Linking broker to itself is not permitted")
Raising an exception in this way seems excessive as it can often be useful to
link nodes in this way.
In my scenario I want to be able to send messages to a fanout exchange, have a
processing consumer connect to one output queue and have a headers exchange
linked to another queue off the fanout.
After processing I want the processing consumer send its results to the headers
exchange (so the headers exchange, and thus subscribers bound to it get both
the unprocessed and processed data). Clearly I could stand up two broker
instances and federate between them, however as far as I can see it's more
efficient to link these things together on a single broker instance.
There might be better ways to achieve this, and improvements to the broker's
internal routing might arguably be a better approach, however equally there's
probably an argument that federation is about linking AMQP nodes in a logical
sense and that the broker forms part of a logical to physical mapping so it
might make sense to employ the same approaches both inter and intra broker for
linking nodes.
If there are perceived issues linking a broker to itself then replacing the
exception with a warning might be a fair compromise. I guess one issue might be
circular links, however the irony is that the topology that I described above
was put in place to solve a particular problem whilst avoiding a circular route.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]