Skip to content
This repository was archived by the owner on Apr 15, 2026. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions doc/book/link_routing.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -115,13 +115,13 @@ Now, the router must be configured to route certain addresses to B2:
----------------------
linkRoute {
prefix: b2
dir: in
direction: in
connection: broker
}

linkRoute {
prefix: b2
dir: out
direction: out
connection: broker
}
----------------------
Expand Down
4 changes: 2 additions & 2 deletions doc/new-book/configuration-reference.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -178,15 +178,15 @@ Entity type for link-route configuration. This is used to identify remote contai
* *_containerId_* (string) : it specifies that the link route will be activated if a remote container will provide a container-id matching with this value.
* *_connection_* (string) : The name from a connector or listener.
* *_distribution_* (One of [`linkBalanced`], default=`linkBalanced`) : Treatment of traffic associated with the address.
* *_dir_* (One of [`in`, `out`], required) : The permitted direction of links. It is defined from a router point of view so ‘in’ means client senders (router ingress) and ‘out’ means client receivers (router egress).
* *_direction_* (One of [`in`, `out`], required) : The permitted direction of links. It is defined from a router point of view so ‘in’ means client senders (router ingress) and ‘out’ means client receivers (router egress).

[[router_configuration_file_autolink]]
==== autoLink

Entity type for configuring auto-links. Auto-links are links whose lifecycle is managed by the router. These are typically used to attach to waypoints on remote containers (brokers, and so on.).

* *_addr_* (string, required) : The address of the provisioned object.
* *_dir_* (One of [`in`, `out`], required) : The direction of the link to be created. In means into the router, out means out of the router.
* *_direction_* (One of [`in`, `out`], required) : The direction of the link to be created. In means into the router, out means out of the router.
* *_phase_* (integer) : The address phase for this link. Defaults to `0` for `out` links and `1` for `in` links.
* *_containerId_* (string) : ContainerID for the target container.
* *_connection_* (string) : The name from a connector or listener.
Expand Down
8 changes: 4 additions & 4 deletions doc/new-book/logging.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -202,10 +202,10 @@ In this example, on `Router.A`, `address`, `linkRoute`, and `autoLink` entities
Tue Jun 7 15:07:32 2016 AGENT (debug) Add entity: ConnectorEntity(addr=127.0.0.1, allowRedirect=True, cost=1, host=127.0.0.1, identity=connector/127.0.0.1:5672:BROKER, idleTimeoutSeconds=16, maxFrameSize=65536, name=BROKER, port=5672, role=route-container, stripAnnotations=both, type=org.apache.qpid.dispatch.connector, verifyHostName=True)
Tue Jun 7 15:07:32 2016 AGENT (debug) Add entity: RouterConfigAddressEntity(distribution=closest, identity=router.config.address/0, name=router.config.address/0, prefix=my_address, type=org.apache.qpid.dispatch.router.config.address, waypoint=False)
Tue Jun 7 15:07:32 2016 AGENT (debug) Add entity: RouterConfigAddressEntity(distribution=balanced, identity=router.config.address/1, name=router.config.address/1, prefix=my_queue_wp, type=org.apache.qpid.dispatch.router.config.address, waypoint=True)
Tue Jun 7 15:07:32 2016 AGENT (debug) Add entity: RouterConfigLinkrouteEntity(connection=BROKER, dir=in, distribution=linkBalanced, identity=router.config.linkRoute/0, name=router.config.linkRoute/0, prefix=my_queue, type=org.apache.qpid.dispatch.router.config.linkRoute)
Tue Jun 7 15:07:32 2016 AGENT (debug) Add entity: RouterConfigLinkrouteEntity(connection=BROKER, dir=out, distribution=linkBalanced, identity=router.config.linkRoute/1, name=router.config.linkRoute/1, prefix=my_queue, type=org.apache.qpid.dispatch.router.config.linkRoute)
Tue Jun 7 15:07:32 2016 AGENT (debug) Add entity: RouterConfigAutolinkEntity(addr=my_queue_wp, connection=BROKER, dir=in, identity=router.config.autoLink/0, name=router.config.autoLink/0, type=org.apache.qpid.dispatch.router.config.autoLink)
Tue Jun 7 15:07:32 2016 AGENT (debug) Add entity: RouterConfigAutolinkEntity(addr=my_queue_wp, connection=BROKER, dir=out, identity=router.config.autoLink/1, name=router.config.autoLink/1, type=org.apache.qpid.dispatch.router.config.autoLink)
Tue Jun 7 15:07:32 2016 AGENT (debug) Add entity: RouterConfigLinkrouteEntity(connection=BROKER, direction=in, distribution=linkBalanced, identity=router.config.linkRoute/0, name=router.config.linkRoute/0, prefix=my_queue, type=org.apache.qpid.dispatch.router.config.linkRoute)
Tue Jun 7 15:07:32 2016 AGENT (debug) Add entity: RouterConfigLinkrouteEntity(connection=BROKER, direction=out, distribution=linkBalanced, identity=router.config.linkRoute/1, name=router.config.linkRoute/1, prefix=my_queue, type=org.apache.qpid.dispatch.router.config.linkRoute)
Tue Jun 7 15:07:32 2016 AGENT (debug) Add entity: RouterConfigAutolinkEntity(addr=my_queue_wp, connection=BROKER, direction=in, identity=router.config.autoLink/0, name=router.config.autoLink/0, type=org.apache.qpid.dispatch.router.config.autoLink)
Tue Jun 7 15:07:32 2016 AGENT (debug) Add entity: RouterConfigAutolinkEntity(addr=my_queue_wp, connection=BROKER, direction=out, identity=router.config.autoLink/1, name=router.config.autoLink/1, type=org.apache.qpid.dispatch.router.config.autoLink)
----

=== The `CONTAINER` Logging Module
Expand Down
4 changes: 2 additions & 2 deletions doc/new-book/managing-using-qdmanage.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -537,7 +537,7 @@ qdmanage create --stdin
+
[options="nowrap",subs="+quotes"]
----
[{"type":"address", "prefix":"_ADDRESS_PREFIX_", "waypoint":"yes"}, {"type":"autolink", "addr":"_ADDRESS_NAME_", "connection":"_CONNECTOR/LISTENER_NAME_", "dir":"in"}, {"type":"autolink", "addr":"_ADDRESS_NAME_", "connection":"_CONNECTOR/LISTENER_NAME_", "dir":"out"}]
[{"type":"address", "prefix":"_ADDRESS_PREFIX_", "waypoint":"yes"}, {"type":"autolink", "addr":"_ADDRESS_NAME_", "connection":"_CONNECTOR/LISTENER_NAME_", "direction":"in"}, {"type":"autolink", "addr":"_ADDRESS_NAME_", "connection":"_CONNECTOR/LISTENER_NAME_", "direction":"out"}]
----

|Update an address configuration
Expand Down Expand Up @@ -608,7 +608,7 @@ qdmanage create --stdin
+
[options="nowrap",subs="+quotes"]
----
[{"type":"linkRoute", "prefix":"_ADDRESS_PREFIX_", "connection":"_CONNECTOR/LISTENER_NAME_", "dir":"in", ...}, {"type":"linkRoute", "prefix":"_ADDRESS_PREFIX_", "connection":"_CONNECTOR/LISTENER_NAME_", "dir":"out", ...}]
[{"type":"linkRoute", "prefix":"_ADDRESS_PREFIX_", "connection":"_CONNECTOR/LISTENER_NAME_", "direction":"in", ...}, {"type":"linkRoute", "prefix":"_ADDRESS_PREFIX_", "connection":"_CONNECTOR/LISTENER_NAME_", "direction":"out", ...}]
----

|Update a link route
Expand Down
20 changes: 10 additions & 10 deletions doc/new-book/reliability.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -284,13 +284,13 @@ address {
autoLink {
addr: my_queue
connection: BROKER
dir: in
direction: in
}

autoLink {
addr: my_queue
connection: BROKER
dir: out
direction: out
}
----

Expand Down Expand Up @@ -411,8 +411,8 @@ Using the `qdmanage` tool, it is possible to configure the waypoint on `my_queue
[
{ "type":"connector", "name":"BROKER", "port":5672, "role":"route-container" },
{ "type":"address", "prefix":"my_queue", "waypoint":"yes" },
{ "type":"autoLink", "addr":"my_queue", "connection":"BROKER", "dir":"in" },
{ "type":"autoLink", "addr":"my_queue", "connection":"BROKER", "dir":"out" }
{ "type":"autoLink", "addr":"my_queue", "connection":"BROKER", "direction":"in" },
{ "type":"autoLink", "addr":"my_queue", "connection":"BROKER", "direction":"out" }
]
[
{
Expand Down Expand Up @@ -448,7 +448,7 @@ Using the `qdmanage` tool, it is possible to configure the waypoint on `my_queue
"type": "org.apache.qpid.dispatch.router.config.autoLink",
"operStatus": "inactive",
"connection": "BROKER",
"dir": "in",
"direction": "in",
"phase": 1,
"lastError": null,
"externalAddr": null,
Expand All @@ -462,7 +462,7 @@ Using the `qdmanage` tool, it is possible to configure the waypoint on `my_queue
"type": "org.apache.qpid.dispatch.router.config.autoLink",
"operStatus": "inactive",
"connection": "BROKER",
"dir": "out",
"direction": "out",
"phase": 0,
"lastError": null,
"externalAddr": null,
Expand Down Expand Up @@ -613,25 +613,25 @@ address {
autoLink {
addr: my_queue
connection: BROKER1
dir: in
direction: in
}

autoLink {
addr: my_queue
connection: BROKER1
dir: out
direction: out
}

autoLink {
addr: my_queue
connection: BROKER2
dir: in
direction: in
}

autoLink {
addr: my_queue
connection: BROKER2
dir: out
direction: out
}
----

Expand Down
28 changes: 14 additions & 14 deletions doc/new-book/routing.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -357,15 +357,15 @@ For information about additional attributes, see xref:router_configuration_file_
autoLink {
addr: _ADDRESS_
connection: _CONNECTOR_NAME_
dir: out
direction: out
...
}
----

`addr`:: The address of the broker queue. When the autolink is created, it will be attached to this address.
`externalAddr`:: An optional alternate address for the broker queue. You use an external address if the broker queue should have a different address than that which the sender uses. In this scenario, senders send messages to the `addr` address, and then the router routes them to the broker queue represented by the `externalAddr` address.
`connection` | `containerID`:: How the router should connect to the broker. You can specify either an outgoing connection (`connection`) or the container ID of the broker (`containerID`).
`dir`:: Set this attribute to `out` to specify that this autolink can send messages from the router to the broker.
`direction`:: Set this attribute to `out` to specify that this autolink can send messages from the router to the broker.

For information about additional attributes, see xref:router_configuration_file_autolink[autoLink] in the _Configuration Reference_.
--
Expand All @@ -378,15 +378,15 @@ For information about additional attributes, see xref:router_configuration_file_
autoLink {
addr: _ADDRESS_
connection: _CONNECTOR_NAME_
dir: in
direction: in
...
}
----

`addr`:: The address of the broker queue. When the autolink is created, it will be attached to this address.
`externalAddr`:: An optional alternate address for the broker queue. You use an external address if the broker queue should have a different address than that which the receiver uses. In this scenario, receivers receive messages from the `addr` address, and the router retrieves them from the broker queue represented by the `externalAddr` address.
`connection` | `containerID`:: How the router should connect to the broker. You can specify either an outgoing connection (`connection`) or the container ID of the broker (`containerID`).
`dir`:: Set this attribute to `in` to specify that this autolink can receive messages from the broker to the router.
`direction`:: Set this attribute to `in` to specify that this autolink can receive messages from the broker to the router.

For information about additional attributes, see xref:router_configuration_file_autolink[autoLink] in the _Configuration Reference_.
--
Expand Down Expand Up @@ -414,25 +414,25 @@ address { // <2>

autoLink { // <3>
addr: queue.first
dir: in
direction: in
connection: broker
}

autoLink { // <4>
addr: queue.first
dir: out
direction: out
connection: broker
}

autoLink { // <5>
addr: queue.second
dir: in
direction: in
connection: broker
}

autoLink { // <6>
addr: queue.second
dir: out
direction: out
connection: broker
}
----
Expand Down Expand Up @@ -583,7 +583,7 @@ For information about additional attributes, see xref:router_configuration_file_
linkRoute {
prefix: __ADDRESS_PREFIX__
connection: __CONNECTOR_NAME__
dir: in
direction: in
...
}
----
Expand All @@ -598,7 +598,7 @@ include::routing.adoc[tags=pattern-matching]
+
If multiple brokers are connected to the router through this connection, requests for addresses matching the link route's prefix or pattern are balanced across the brokers. Alternatively, if you want to specify a particular broker, use `containerID` and add the broker's container ID.

`dir`:: Set this attribute to `in` to specify that clients can send messages into the router network on this link route.
`direction`:: Set this attribute to `in` to specify that clients can send messages into the router network on this link route.

For information about additional attributes, see xref:router_configuration_file_linkroute[linkRoute] in the _Configuration Reference_.
--
Expand All @@ -611,7 +611,7 @@ For information about additional attributes, see xref:router_configuration_file_
linkRoute {
prefix: __ADDRESS_PREFIX__
connection: __CONNECTOR_NAME__
dir: out
direction: out
...
}
----
Expand All @@ -625,7 +625,7 @@ include::routing.adoc[tags=pattern-matching]
`connection` | `containerID`:: How the router should connect to the broker. You can specify either an outgoing connection (`connection`) or the container ID of the broker (`containerID`).
+
If multiple brokers are connected to the router through this connection, requests for addresses matching the link route's prefix or pattern are balanced across the brokers. Alternatively, if you want to specify a particular broker, use `containerID` and add the broker's container ID.
`dir`:: Set this attribute to `out` to specify that this link route is for receivers.
`direction`:: Set this attribute to `out` to specify that this link route is for receivers.

For information about additional attributes, see xref:router_configuration_file_linkroute[linkRoute] in the _Configuration Reference_.
--
Expand Down Expand Up @@ -685,13 +685,13 @@ connector { // <1>

linkRoute { // <2>
prefix: b2
dir: in
direction: in
connection: broker
}

linkRoute { // <3>
prefix: b2
dir: out
direction: out
connection: broker
}
----
Expand Down
6 changes: 4 additions & 2 deletions python/qpid_dispatch/management/qdrouter.json
Original file line number Diff line number Diff line change
Expand Up @@ -1053,10 +1053,11 @@
"required": false,
"default": "linkBalanced"
},
"dir": {
"direction": {
"type": ["in", "out"],
"description": "The permitted direction of links: 'in' means client senders; 'out' means client receivers",
"create": true,
"deprecationName": "dir",
"required": true
},
"operStatus": {
Expand All @@ -1078,10 +1079,11 @@
"create": true,
"required": true
},
"dir": {
"direction": {
"type": ["in", "out"],
"description": "The direction of the link to be created. In means into the router, out means out of the router.",
"create": true,
"deprecationName": "dir",
"required": true
},
"phase": {
Expand Down
36 changes: 18 additions & 18 deletions python/qpid_dispatch_internal/management/qdrouter.py
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
##
## Licensed to the Apache Software Foundation (ASF) under one
## or more contributor license agreements. See the NOTICE file
## distributed with this work for additional information
## regarding copyright ownership. The ASF licenses this file
## to you under the Apache License, Version 2.0 (the
## "License"); you may not use this file except in compliance
## with the License. You may obtain a copy of the License at
##
## http://www.apache.org/licenses/LICENSE-2.0
##
## Unless required by applicable law or agreed to in writing,
## software distributed under the License is distributed on an
## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
## KIND, either express or implied. See the License for the
## specific language governing permissions and limitations
## under the License
##
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License
#

"""
Qpid Dispatch Router management schema and config file parsing.
Expand Down
Loading