[
https://issues.apache.org/jira/browse/DISPATCH-89?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14252420#comment-14252420
]
Ken Giusti commented on DISPATCH-89:
------------------------------------
Hi Gordon,
My initial thinking was to only create the bindings out of band, via
management, and those bindings would only exist on the router they were created
on. There would be no propagation of the bindings to other routers, at least
for now - I'm not sure I see the need (or even how that would work).
Creating the bindings from the client side is interesting, and could be done as
well. But if we don't propagate the binding, then client-side binding kinda
devolves into a filter on the link. I might be over-simplifying that?
In keeping consistent with qpidd's behavior the matching would be done on the
subject field of the message rather than the address. IOW it is a very
specific form of content based routing - where the content is exactly the
subject field.
IMHO forwarding options on the bound target address such as fanout wouldn't
make sense - message distribution would be dictated by the binding
configuration. But a binding should be able to support multiple output target
addresses and the router would fanout across those. And naturally 'fanout'
could apply to the output targets, unless those addresses are also bound.
BTW - I think this would best be implemented as a router plugin. I wouldn't
want to overload the forwarding path with logic for an optional feature.
> 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]