[
https://issues.apache.org/jira/browse/DISPATCH-89?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16335931#comment-16335931
]
ASF GitHub Bot commented on DISPATCH-89:
----------------------------------------
Github user kgiusti commented on a diff in the pull request:
https://github.com/apache/qpid-dispatch/pull/244#discussion_r163280167
--- Diff: python/qpid_dispatch/management/qdrouter.json ---
@@ -1126,6 +1126,106 @@
}
},
+ "router.config.exchange": {
+ "description":"[EXPERIMENTAL] Defines a topic exchange.",
+ "extends": "configurationEntity",
+ "operations": ["CREATE", "DELETE"],
+ "attributes": {
+ "address": {
+ "description": "The address of the exchange.",
+ "type": "string",
+ "create": true,
+ "required": true
+ },
+ "phase": {
+ "type": "integer",
+ "description": "The address phase for the exchange.
Defaults to '0'.",
+ "create": true,
+ "required": false
+ },
+ "alternate": {
+ "description": "The address to forward the message to
if no bindings are matched.",
+ "type": "string",
+ "create": true,
+ "required": false
+ },
+ "alternatePhase": {
+ "type": "integer",
+ "description": "The address phase for the alternate
address. Defaults to '0'.",
+ "create": true,
+ "required": false
+ },
+ "matchMethod": {
+ "description": "Key matching algorithm used. '0-10'
uses the legacy AMQP topic exchange wildcard match method as described in the
0-10 draft. 'mqtt' uses the MQTT topic filter wildcard match method.",
+ "type": ["0-10", "mqtt"],
+ "default": "0-10",
+ "required": false,
+ "create": true
+ },
+ "bindingCount": {
+ "description": "The number of bindings associated with
this exchange.",
+ "type": "integer",
+ "create": false
+ },
+ "deliveriesReceived": {
+ "description": "The total number of deliveries
received by this exchange.",
+ "type": "integer",
+ "create": false
+ },
+ "deliveriesDropped": {
+ "description": "The total number of deliveries dropped
due to the lack of an outgoing subscription.",
+ "type": "integer",
+ "create": false
+ },
+ "deliveriesForwarded": {
+ "description": "The total number of deliveries
forwarded via matched bindings.",
+ "type": "integer",
+ "create": false
+ },
+ "deliveriesAlternate": {
+ "description": "The total number of deliveries
forwarded to the alternate exchange.",
+ "type": "integer",
+ "create": false
+ }
+ }
+ },
+
+ "router.config.binding": {
+ "description":"[EXPERIMENTAL] Defines a keyed next hop binding
for an exchange.",
+ "extends": "configurationEntity",
+ "operations": ["CREATE", "DELETE"],
+ "attributes": {
+ "exchange": {
+ "description": "The name of the exchange to bind.",
+ "type": "string",
+ "create": true,
+ "required": true
+ },
+ "key": {
+ "description": "Pattern to compare against incoming
message's topic. The key is a string of zero or more tokens and wildcards. The
format depends on the matchMethod configured for the exchange. For 0-10 each
token is delimited by the '.' character and wild-card token '*' matches a
single token and '#' matches zero or more tokens. For MQTT each token is
delimited by the '/' character and wildcard token '+' matches a single token
and '#' matches zero or more tokens at the end of the topic.",
+ "type": "string",
+ "create": true,
+ "required": true
--- End diff --
not required update description to describe null key
> 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
> Assignee: Ken Giusti
> Priority: Major
>
> 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
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]