[
https://issues.apache.org/jira/browse/DISPATCH-89?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14253260#comment-14253260
]
Gordon Sim commented on DISPATCH-89:
------------------------------------
Ok, so the bindings aren't propagated, but interest in the addresses involved
is, right? I.e. if I bind from 'my-exchange' to 'my-queue', and the router
would advertise its interest in both those addresses, even if it had no local
subscribers for my-exchange (i.e. a binding is like an implicit local
subscriber). So every router with a binding from my-exchange would get all
messages sent to my-exchange (and would then locally filter/route them based on
subject).
I agree that keeps things simple, yet still powerful. It wouldn't allow for
wildcard matching on the address itself, but I think the simplicity gained from
no propagating bindings is probably worth it (at least to begin with).
The bindings would of course need to be recreated on another router in the
network if the original router failed.
You are also right, that having the binding specified in the attach itself
would in this case not really buy anything over a subject filter. However,
dispatch router doesn't yet support subject filters. So perhaps since the logic
will be added anyway, that is something that could be added. (Again, just
locally evaluated in the first instance, not propagated).
> Model the legacy topic exchange behavior of qpidd
> -------------------------------------------------
>
> Key: DISPATCH-89
> URL: https://issues.apache.org/jira/browse/DISPATCH-89
> Project: Qpid Dispatch
> Issue Type: New Feature
> Components: Routing Engine
> Affects Versions: 0.2
> Reporter: Ken Giusti
>
> With Qpidd, a user can define a binding from an Exchange to a target queue.
> The binding uses a key that is compared to a message's subject field. If the
> key matches, the message is routed to the target queue for that binding.
> It should be possible to emulate this behavior using the dispatch router.
> Example:
> User defines a mappings from a target address (the 'exchange') to a different
> target address(es) (the 'queue'). These mappings (the 'bindings') are driven
> by a pattern match against the inbound message's subject field.
> Messages arriving at the router from any link whose target address has
> bindings defined are not immediately routed. Prior to routing, the message's
> subject field is extracted and compared against each binding defined for the
> target. A list of new target addresses is created containing the target
> address from each binding that satisfied the pattern match. The message is
> then routed to each new target address.
> The pattern syntax should be the same 'dotted string' notation from qpidd,
> including '*' and "#' wildcarding.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]