Wonderful - that worked great, Ted - thanks!!!

> -----Original Message-----
> From: Ted Ross [mailto:tr...@redhat.com]
> Sent: Friday, October 27, 2017 11:31 AM
> To: users@qpid.apache.org
> Subject: Re: Routing messages between two brokers
> 
> Hi Steve,
> 
> Setting up the addresses as waypoints configures the router to properly
> route producers _to_ the broker and consumers _from_ the broker.  Your
> case is a little different.  Try this alternative configuration:
> 
> autoLink {
>     addr: to.myapp
>     connection: appbroker
>     dir: in
>     phase: 0
> }
> 
> autoLink {
>     addr: to.myapp
>     connection: otherbroker
>     dir: out
>     phase: 0
> }
> 
> autoLink {
>     addr: from.myapp
>     connection: appbroker
>     dir: out
>     phase: 0
> }
> 
> autoLink {
>     addr: from.myapp
>     connection: otherbroker
>     dir: in
>     phase: 0
> }
> 
> By default, _out_ autolinks take phase-0 to match directly attached
> producers and _in_ autolinks take phase-1 to match directly attached
> consumers.  Identifying the address as "waypoint: yes" causes consumers
> (normally attached listener links) to assume phase-1.
> 
> In your case, there is no multi-phase path (i.e. producer-to-broker; broker-
> to-consumer), so you can dispense with the waypoint addresses and
> explicitly set your autolink phases to 0.
> 
> In case it's not clear:  Dispatch has a notion of "address phase" which is a 
> way
> of dividing a single address into multiple sub-addresses for routing.  If the
> address is for a broker/queue, the routing from producer to broker is
> separate and independent from the routing from broker to consumer.  From
> outside of the router, there appears to be only one address, but in the
> router's forwarding table, there are multiple distinct addresses.
> 
> Let me know if you have any other problems with this.  It should work fine.
> 
> -Ted
> 
> On Thu, Oct 26, 2017 at 6:26 PM, Steve Huston <shus...@riverace.com>
> wrote:
> 
> > I am bootstrapping my dispatch router knowledge on a little project
> > driven by the need to feed messages through:
> >
> > - AMQP 0-10 client sends messages to a broker that speaks both 0-10
> > and 1.0
> > - dispatch router takes messages out of that dual-protocol broker and
> > routes them to another broker that speaks only 1.0
> >
> > ... and back the other way, with a different named queue.
> >
> > So here is the qdrouterd.conf pieces for this goal:
> >
> > router {
> >     mode: standalone
> >     id: Router.A
> > }
> >
> > #Listener for the dispatch-router management connections - qdstat
> > listener {
> >     host: 0.0.0.0
> >     port: amqp
> >     authenticatePeer: no
> > }
> >
> > connector {
> >     name: otherbroker
> >     host: otherhost
> >     port: 5672
> >     role: route-container
> > }
> >
> > connector {
> >     name: appbroker
> >     host: 0.0.0.0
> >     port: 10053
> >     role: route-container
> > }
> >
> > address {
> >     prefix: to.myapp
> >     waypoint: yes
> > }
> >
> > autoLink {
> >     addr: to.myapp
> >     connection: appbroker
> >     dir: in
> > }
> > autoLink {
> >     addr: to.myapp
> >     connection: otherbroker
> >     dir: out
> > }
> >
> > address {
> >     prefix: from.myapp
> >     waypoint: yes
> > }
> >
> > autoLink {
> >     addr: from.myapp
> >     connection: appbroker
> >     dir: out
> > }
> > autoLink {
> >     addr: from.myapp
> >     connection: otherbroker
> >     dir: in
> > }
> >
> >
> > When qdrouterd runs, it appears to set up the connections and links,
> > but no messages are retrieved from 'appbroker' 'to.myapp' - and there
> > are many messages sitting in that queue waiting.
> >
> > Is there something I'm missing to actually get the messages to flow?
> >
> > Thanks,
> > -Steve
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org For
> > additional commands, e-mail: users-h...@qpid.apache.org
> >
> >

Reply via email to