activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Raynsford <list+org.apache.activ...@io7m.com>
Subject Re: Programatically setting up a proxying broker
Date Tue, 01 Aug 2017 17:00:32 GMT
'Ello.

For the purposes of keeping everything consistent, I've pushed my
example program to a GitHub repository:

  https://github.com/io7m/activemq-examples

See:

  https://github.com/io7m/activemq-examples/blob/develop/src/main/java/com/io7m/activemq/examples/ForwardingServers.java

I've also included some packet captures in the event that they're
necessary.

On 2017-07-31T21:54:56 -0600
Tim Bain <tbain@alumni.duke.edu> wrote:
>
> OK, no subscriber on the proxy broker certainly explains why no messages
> are making it to the main broker, so let's dig into that.
> 
> Do you see (via JMX) a networkConnector between the two brokers? And do you
> see advisory messages passing from the main broker to the proxy when a
> subscriber connects? With dynamically included destinations, if the
> advisory messages aren't flowing, you're not going to get any inter-broker
> subscriptions established.

Via JMX, I see a networkConnector on the proxy broker, but none on the
receiver broker:

  http://ataxia.io7m.com/2017/08/01/jmx.png

I've confirmed via watching the network interface with Wireshark that
at no point do either of the brokers send any packets to each other
whatsoever.

A thought suddenly occurred to me... Am I configuring the network
connector on the right broker? My thinking was that the proxy is the
one that should have the network connector configuration, because
messages sent to the proxy should be relayed to the receiver broker.
However, the reverse also makes sense... The receiver broker could be
the one that requires the network connector configuration because it's
subscribing to messages being sent to the proxy.

> Also, I'd suggest that you set up the main broker as a standalone broker
> instance.

I'm actually not sure that the main broker will be standalone, it'll
likely still be embedded. Logging is no problem, in any case, as the
hosting example program is using Logback with everything down to TRACE
level being logged. I'm not sure if a standalone broker gets me more
logging than this?

I'd like to stick to doing things programatically, as I think it gives
other people more of a chance to reproduce any problems I have (they
automatically get the same versions of everything I'm using via Maven
and so on).

> BTW, I may have led you down the wrong path on the mechanism for including
> destinations, because I forgot a very important advantage that statically
> included destinations have over dynamically included ones: messages will be
> forwarded to the main broker even when there are no consumers attached to
> the main broker.

Got it.

I'm not sure yet if I will be using queues, so I'll stick to using the
static configuration as it provides both.

-- 
Mark Raynsford | http://www.io7m.com

Mime
View raw message