You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@qpid.apache.org by "Gavrila, Daniel" <D....@selex-es-gmbh.com> on 2019/10/01 12:20:25 UTC

QDR between brokers

Hi all,

I've the following configuration   Broker1 <-> QDR <-> Broker2  (archived in attachment):


The applications are starting as daemons on the localhost , broker version is 1.38  and QPID dispatch router (QDR) version is 1.9.

Each broker contains the exchange topic "examples" and the QDR contains the mobile address "examples" with the distribution set to multicast. QDR uses the default "message routing", has a symmetrical configuration regarding the brokers , more precisely contains two autolinks  (in ,out) to the exchange  "examples" of the Broker1 and the same for Broker2

Using the command
    spout -b  localhost:PortBroker1   examples   --content brk1
the message "arrives" in the QDR (i.e can be seen with drain -b localhost:PortQDR examples), but not in Broker2

Using instead the command
    spout -b localhost:PortQDR examples --content router

the message arrives on both brokers


For me seems that if a message is arriving in QDR over one broker , the message cannot be dispatched further. If the message is sent directly from one peer to the QDR , the message is dispatched further.
I would like to configure the QDR in such way that also if one message is coming from a broker is dispatched further.


Many thanks,
Daniel

LEONARDO Germany GmbH
Sitz der Gesellschaft / Registered Office: Neuss
Registergericht / Register Court: Neuss HRB 17453
Gesch?ftsf?hrer / Managing Director: Ulrich Nellen

Re: QDR between brokers

Posted by Ganesh Murthy <gm...@redhat.com>.
This blog post talks in great details about waypoints

https://netmessaging.blogspot.com/2019/04/apache-qpid-dispatch-router-waypoints.html

On Tue, Oct 1, 2019 at 3:34 PM Ted Ross <tr...@redhat.com> wrote:

> I believe the issue you are having is related to the fact that you
> configured the address as a waypoint.
>
> With a waypoint, there are two effective addresses in the router:
> examples(phase0) and examples(phase1).  The phase0 address is used to route
> messages from senders (connected to the router) to the brokers.  The phase1
> address is used to route messages from the brokers to receivers (connected
> to the router).
>
> This configuration will not result in message transfer from one broker to
> the other.  Any message placed on a broker (not using the router) will be
> delivered via phase1 to consumers connected to the router but not to the
> other broker, which would be on phase0.
>
> I'm not sure I'm completely clear on what it is you are trying to
> accomplish and why you expect messages sent directly to one broker to be
> transferred to the other broker.  You could set up autolinks specifically
> for transferring messages from one broker to the other, but you will run
> into looping and duplication issues.  What exactly are you trying to do
> here?
>
> -Ted
>
> On Tue, Oct 1, 2019 at 8:20 AM Gavrila, Daniel <
> D.Gavrila@selex-es-gmbh.com>
> wrote:
>
> > Hi all,
> >
> >
> >
> > I've the following configuration   Broker1 <-> QDR <-> Broker2  (archived
> > in attachment):
> >
> >
> >
> >
> >
> > The applications are starting as daemons on the localhost , broker
> version
> > is 1.38  and QPID dispatch router (QDR) version is 1.9.
> >
> >
> >
> > Each broker contains the exchange topic "examples" and the QDR contains
> > the mobile address "examples" with the distribution set to multicast. QDR
> > uses the default "message routing", has a symmetrical configuration
> > regarding the brokers , more precisely contains two autolinks  (in ,out)
> to
> > the exchange  "examples" of the Broker1 and the same for Broker2
> >
> >
> >
> > Using the command
> >
> >     spout –b  localhost:PortBroker1   examples   --content brk1
> >
> > the message "arrives" in the QDR (i.e can be seen with drain -b
> > localhost:PortQDR examples), but not in Broker2
> >
> >
> >
> > Using instead the command
> >
> >     spout -b localhost:PortQDR examples --content router
> >
> >
> >
> > the message arrives on both brokers
> >
> >
> >
> >
> >
> > For me seems that if a message is arriving in QDR over one broker , the
> > message cannot be dispatched further. If the message is sent directly
> from
> > one peer to the QDR , the message is dispatched further.
> >
> > I would like to configure the QDR in such way that also if one message is
> > coming from a broker is dispatched further.
> >
> >
> >
> >
> >
> > Many thanks,
> >
> > Daniel
> >
> >
> > LEONARDO Germany GmbH
> > Sitz der Gesellschaft / Registered Office: Neuss
> > Registergericht / Register Court: Neuss HRB 17453
> > Geschäftsführer / Managing Director: Ulrich Nellen
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
> > For additional commands, e-mail: users-help@qpid.apache.org
>

Re: QDR between brokers

Posted by Ted Ross <tr...@redhat.com>.
I believe the issue you are having is related to the fact that you
configured the address as a waypoint.

With a waypoint, there are two effective addresses in the router:
examples(phase0) and examples(phase1).  The phase0 address is used to route
messages from senders (connected to the router) to the brokers.  The phase1
address is used to route messages from the brokers to receivers (connected
to the router).

This configuration will not result in message transfer from one broker to
the other.  Any message placed on a broker (not using the router) will be
delivered via phase1 to consumers connected to the router but not to the
other broker, which would be on phase0.

I'm not sure I'm completely clear on what it is you are trying to
accomplish and why you expect messages sent directly to one broker to be
transferred to the other broker.  You could set up autolinks specifically
for transferring messages from one broker to the other, but you will run
into looping and duplication issues.  What exactly are you trying to do
here?

-Ted

On Tue, Oct 1, 2019 at 8:20 AM Gavrila, Daniel <D....@selex-es-gmbh.com>
wrote:

> Hi all,
>
>
>
> I've the following configuration   Broker1 <-> QDR <-> Broker2  (archived
> in attachment):
>
>
>
>
>
> The applications are starting as daemons on the localhost , broker version
> is 1.38  and QPID dispatch router (QDR) version is 1.9.
>
>
>
> Each broker contains the exchange topic "examples" and the QDR contains
> the mobile address "examples" with the distribution set to multicast. QDR
> uses the default "message routing", has a symmetrical configuration
> regarding the brokers , more precisely contains two autolinks  (in ,out) to
> the exchange  "examples" of the Broker1 and the same for Broker2
>
>
>
> Using the command
>
>     spout –b  localhost:PortBroker1   examples   --content brk1
>
> the message "arrives" in the QDR (i.e can be seen with drain -b
> localhost:PortQDR examples), but not in Broker2
>
>
>
> Using instead the command
>
>     spout -b localhost:PortQDR examples --content router
>
>
>
> the message arrives on both brokers
>
>
>
>
>
> For me seems that if a message is arriving in QDR over one broker , the
> message cannot be dispatched further. If the message is sent directly from
> one peer to the QDR , the message is dispatched further.
>
> I would like to configure the QDR in such way that also if one message is
> coming from a broker is dispatched further.
>
>
>
>
>
> Many thanks,
>
> Daniel
>
>
> LEONARDO Germany GmbH
> Sitz der Gesellschaft / Registered Office: Neuss
> Registergericht / Register Court: Neuss HRB 17453
> Geschäftsführer / Managing Director: Ulrich Nellen
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
> For additional commands, e-mail: users-help@qpid.apache.org