You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Ted Ross (JIRA)" <ji...@apache.org> on 2019/05/17 20:23:01 UTC

[jira] [Created] (DISPATCH-1337) Alternate Destination for Unreachable Addresses

Ted Ross created DISPATCH-1337:
----------------------------------

             Summary: Alternate Destination for Unreachable Addresses
                 Key: DISPATCH-1337
                 URL: https://issues.apache.org/jira/browse/DISPATCH-1337
             Project: Qpid Dispatch
          Issue Type: New Feature
          Components: Router Node
            Reporter: Ted Ross
            Assignee: Ted Ross
             Fix For: 1.8.0


This feature allows addresses to be configured such that an alternate destination can be used to receive messages that are not deliverable to any normal consumers on the address.

Typically, this feature will be used to allow a message broker to store messages that are not routable directly to consumers.  When one or more consumers are attached in the router network, messages shall be delivered directly to the consumers.  Where there are no reachable consumers, deliveries shall then be diverted to the alternate destination.  Once consumers re-connect to the network, messages shall again be delivered directly.

When a consumer comes online after messages have been stored in a broker, it shall receive the stored messages interleaved with new messages from producers.  No attempt shall be made by the router network to preserve the original delivery order of the messages.

This feature can be configured by adding the attribute
{noformat}
    alternate: yes
{noformat}
to an address configuration.  This attribute tells the router that any address matching the configuration that appears shall support the alternate destination capability.

There are two ways to create an alternate destination for an address:

Using auto-links:

An auto-link (or a pair of auto-links) can be configured to create an alternate waypoint for an address.  For example, assume that there is a route-container connector or listener for a broker called "alternate-broker".
{noformat}
address {
    prefix: position_update
    alternate: yes
}

autoLink {
    address: position_update.338
    direction: in
    connection: alternate-broker
    alternate: yes
}

autoLink {
    address: position_update.338
    direction: out
    connection: alternate-broker
    alternate: yes
}
{noformat}

The above configuration will use a queue on the broker called "position_update.338" as the alternate destination for direct consumers.  Furthermore, since there are both _in_ and _out_ auto-links, the router(s) shall send queued messages to newly attached direct consumers.

Using terminus capabilities:

As al alternative to using autl-links, the broker (or any other process) can attach sending and receiving links to the address with terminus-capability "qd.alternate".  This will create the same behavior as the above example.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org