What are you trying to achieve? You mentioned "replication" and "forwarding" 
interchangeably, which is confusing. Message replication is a function of the 
persistence adapter, not network of brokers.



Sent from my Verizon Wireless 4G LTE smartphone


-------- Original message --------
From: magnusT <magnus.thylan...@greenhatpeople.com>
Date: 11/18/2015 5:22 AM (GMT-05:00)
To: users@activemq.apache.org
Subject: Network of brokers problems [ EXTERNAL ]

Hi,

We have three servers running activemq in a network of brokers
configuration. The general idea of our setup is to have messages sent on one
server replicated to the other two.

For this purpose we have setup composite queues (named *.composite) on each
server. These composite queues are forwarded to two separate queues
according to this config in activemq.xml:

<compositeQueue name="queue1.composite">
  <forwardTo>
    <queue physicalName="queue1.srv2" />
    <queue physicalName="queue1.srv3" />
  </forwardTo>
</compositeQueue>

(This config is on server1, on server2 the queue is forwarded to queue1.srv1
and queue1.srv3, and on server3 it would be forwarded to queue1.srv1 and
queue1.srv2)

On each server we have setup network connectors as follows:

SERVER1:

<networkConnector
uri="static:(tcp://server2ip:61616)?maxReconnectDelay=5000&amp;useExponentialBackOff=false"
name="Srv1_to_Srv2" networkTTL="1">
  <excludedDestinations>
      <queue physicalName=">"/>
      <topic physicalName=">"/>
    </excludedDestinations>
  <staticallyIncludedDestinations>
    <queue physicalName="*.srv2"/>
  </staticallyIncludedDestinations>
</networkConnector>
<networkConnector
uri="static:(tcp://server3ip:61616)?maxReconnectDelay=5000&amp;useExponentialBackOff=false"
name="Srv1_to_Srv3" networkTTL="1">
  <excludedDestinations>
      <queue physicalName=">"/>
      <topic physicalName=">"/>
    </excludedDestinations>
  <staticallyIncludedDestinations>
    <queue physicalName="*.srv3"/>
  </staticallyIncludedDestinations>
</networkConnector>

SERVER2:

<networkConnector
uri="static:(tcp://server1ip:61616)?maxReconnectDelay=5000&amp;useExponentialBackOff=false"
name="Srv2_to_Srv1" networkTTL="1">
  <excludedDestinations>
      <queue physicalName=">"/>
      <topic physicalName=">"/>
    </excludedDestinations>
  <staticallyIncludedDestinations>
    <queue physicalName="*.srv1"/>
  </staticallyIncludedDestinations>
</networkConnector>
<networkConnector
uri="static:(tcp://server3ip:61616)?maxReconnectDelay=5000&amp;useExponentialBackOff=false"
name="Srv2_to_Srv3" networkTTL="1">
  <excludedDestinations>
      <queue physicalName=">"/>
      <topic physicalName=">"/>
    </excludedDestinations>
  <staticallyIncludedDestinations>
    <queue physicalName="*.srv3"/>
  </staticallyIncludedDestinations>
</networkConnector>

SERVER3:

<networkConnector
uri="static:(tcp://server1ip:61616)?maxReconnectDelay=5000&amp;useExponentialBackOff=false"
name="Srv3_to_Srv1" networkTTL="1">
  <excludedDestinations>
      <queue physicalName=">"/>
      <topic physicalName=">"/>
    </excludedDestinations>
  <staticallyIncludedDestinations>
    <queue physicalName="*.srv1"/>
  </staticallyIncludedDestinations>
</networkConnector>
<networkConnector
uri="static:(tcp://server2ip:61616)?maxReconnectDelay=5000&amp;useExponentialBackOff=false"
name="Srv3_to_Srv2" networkTTL="1">
  <excludedDestinations>
      <queue physicalName=">"/>
      <topic physicalName=">"/>
    </excludedDestinations>
  <staticallyIncludedDestinations>
    <queue physicalName="*.srv2"/>
  </staticallyIncludedDestinations>
</networkConnector>


So, the idea as I said is that we publish a message on say
server1:queue1.composite and it is automatically sent to server2:queue1.srv2
and server3:queue1.srv3. That works fine, and it also works fine for server2
to send messages to server1 and server3.

But, when sending a message on server3 the message never reaches server1 or
server2. What´s funny is that when looking at enqueued & dequeued messages
in the web console of server3 the count is increased, but nothing arrives at
the other servers. No error messages are logged in the console either.

We are running amq v5.9 on server1, v5.7 on server2 and 5.11 on server 3.

Is there any reason why this should not work as configured as far as anyone
can tell? Is there a better way of doing it? Any help towards fixing this
issue will be greatly appreciated.

Best regards,
MagnusT








--
View this message in context: 
http://activemq.2283324.n4.nabble.com/Network-of-brokers-problems-tp4704041.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

This e-mail transmission may contain information that is proprietary, 
privileged and/or confidential and is intended exclusively for the person(s) to 
whom it is addressed. Any use, copying, retention or disclosure by any person 
other than the intended recipient or the intended recipient's designees is 
strictly prohibited. If you are not the intended recipient or their designee, 
please notify the sender immediately by return e-mail and delete all copies. 
OppenheimerFunds may, at its sole discretion, monitor, review, retain and/or 
disclose the content of all email communications.

Reply via email to