[rabbitmq-discuss] Patch to support amq.topic in STOMP adaptor
Tony Garnock-Jones
tonyg at lshift.net
Mon Jun 16 16:49:11 BST 2008
Hi Artur,
Thanks for the patch! It's a useful feature.
I've applied something that captures the essence of your enhancement,
with a few minor differences:
- I've made the threading of State more visible
- I've changed the headers used to feed the "arguments" for
both queue.declare and queue.bind to "X-Q-"prefixed and
"X-B-"prefixed, respectively, rather than simply "X-"prefixed.
The change is present in Mercurial on both 'default' and
'rabbitmq_v1_3_0_branch' branches. Let me know if it works for you.
I have one question for you and the group at large - the new code
supports *exactly one* binding between an exchange and the
destination-queue. AMQP supports zero or more. How should we expose this
as STOMP headers?
We could have multiple "bind" headers, containing "exchange,routingkey"
or similar; the problem then is what happens when an exchange name
contains a comma (or other delimiter).
If we're going to have to solve the escaping-of-delimiters problem
anyway - and it looks like we are, if we want this multiple-bind feature
- then we may as well have *two* kinds of delimiter, for a single "bind"
header of the form
bind: exchange1,routingkeypattern1;exchange2,routingkeypattern2;...
Yuck. Any thoughts?
(Backslash-escaping? Gross, but viable?)
Regards,
Tony
--
[][][] Tony Garnock-Jones | Mob: +44 (0)7905 974 211
[][] LShift Ltd | Tel: +44 (0)20 7729 7060
[] [] http://www.lshift.net/ | Email: tonyg at lshift.net
More information about the rabbitmq-discuss
mailing list