Необходимо настроить ActiveMQ для работы в кластере JBoss (2 машины).
Конфигурации брокеров:
serverA:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<broker brokerName="servera" useJmx="false" persistent="false">
....
<transportConnector uri="tcp://localhost:61616"/>
...
<networkConnector
uri="static:(tcp://serverb:61616,tcp://localhost:61616)"
failover="true"
name="bridge"
dynamicOnly="false"
conduitSubscriptions="true"
decreaseNetworkConsumerPriority="false"/>
serverB:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<broker brokerName="serverb" useJmx="false" persistent="false">
....
<transportConnector uri="tcp://localhost:61616"/>
...
<networkConnector
uri="static:(tcp://servera:61616,tcp://localhost:61616)"
failover="true"
name="bridge"
dynamicOnly="false"
conduitSubscriptions="true"
decreaseNetworkConsumerPriority="false"/>
Кусочек лога:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
INFO [org.apache.activemq.transport.TransportServerThreadSupport] Listening for connections at: tcp://servera:61616
INFO [org.apache.activemq.broker.TransportConnector] Connector tcp://localhost:61616 Started
INFO [org.apache.activemq.network.NetworkConnector] Establishing network connection between
from vm://servera?network=true to failover:tcp://serverb:61616
INFO [org.apache.activemq.transport.vm.VMTransportFactory] binding to broker: servera
INFO [org.apache.activemq.broker.TransportConnector] Connector vm://servera Started
INFO [org.apache.activemq.network.DemandForwardingBridge] Starting a network connection
between vm://servera#0 and unconnected has been established.
INFO [org.apache.activemq.network.NetworkConnector] Establishing network connection
between from vm://servera?network=true to failover:tcp://localhost:61616
INFO [org.apache.activemq.network.DemandForwardingBridge] Starting a network connection
between vm://servera#2 and unconnected has been established.
INFO [org.apache.activemq.network.NetworkConnector] Network Connector bridge Started
INFO [org.apache.activemq.broker.BrokerService] ActiveMQ JMS Message Broker (servera,
ID:servera- 34940 - 1173858409837 - 0 : 0 ) started
DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Invoking
BeanPostProcessors after initialization of bean 'org.apache.activemq.xbean.XBeanBrokerService'
DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] No bean named
'broker' found in org.springframework.beans.factory.support.DefaultListableBeanFactory defining
beans [org.apache.activemq.xbean.XBeanBrokerService]; root of BeanFactory hierarchy
............................................................................................
INFO [org.apache.activemq.network.DemandForwardingBridge] Network connection between
vm://servera# 0 and tcp://serverb: 61616 (serverb) has been established.
В итоге ответ (на запрос, посланный в topic) приходит только от нода, с которого осуществляется сам запрос.
Может быть кто-нибудь сталкивался с подобным? Как решить?