ActiveMQ Network Brokers - PullRequest
       36

ActiveMQ Network Brokers

1 голос
/ 23 ноября 2011

Я пытаюсь создать сеть ActiveMQ, которая будет состоять из 2 брокеров.Затем я выполнил настройку, как описано в соответствующем руководстве (http://activemq.apache.org/networks-of-brokers.html)

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://activemq.org/config/1.0">

  <broker brokerName="receiver" persistent="false" useJmx="false">  
    <networkConnectors>
      <networkConnector uri="static:(tcp://host2:61616)"/>
    </networkConnectors>

    <persistenceAdapter>
      <memoryPersistenceAdapter/>
    </persistenceAdapter>

   <transportConnectors>
      <transportConnector uri="tcp://host1:61616"/>
    </transportConnectors>
  </broker>
</beans>

. В приведенной выше конфигурации XML я предполагаю, что один из сетевых брокеров работает на хосте 1, а другой на хосте 2. Брокер.работа на хосте 2 будет иметь противоположные значения: JMS не запускается и не генерирует никаких исключений в файлах журналов, появляется только сообщение:

INFO  | Refreshing org.apache.activemq.xbean.XBeanBrokerFactory$1@3df78040: startup date [Tue Nov 22 20:54:53 CET 2011]; root of context hierarchy | org.apache.activemq.xbean.XBeanBrokerFactory$1 | main

Кто-нибудь когда-либо сумел настроить сетьдва или более брокера ActiveMQ?

Ответы [ 2 ]

1 голос
/ 25 ноября 2011

Это очень распространенная вещь, связанная с ActiveMQ.Вы можете получить пример конфигурации, на которой будет основана ваша сеть брокеров, в каталоге $ {ACTIVEMQ_HOME} / conf (activemq-static-network-broker1.xml и activemq-static-network-broker2.xml).

Из того, что я вижу, пространства имен вашей конфигурации неверны.Он должен выглядеть следующим образом:

<beans
  xmlns="http://www.springframework.org/schema/beans"
  xmlns:amq="http://activemq.apache.org/schema/core"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
    http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd">

  <broker xmlns="http://activemq.apache.org/schema/core" brokerName="static-broker1">
    <!-- other stuff goes here -->
  </broker>

</beans>

Главное, что нужно знать, это то, что это конфигурация Spring (http://www.springframework.org/schema/beans), которая имеет конфигурацию XBean, определяющую брокер AMQ (http://activemq.apache.org/schema/core).

* 1009).* Я также повторил бы то, что сказал Сродригес, используйте 0.0.0.0 в качестве имени хоста вашего transportConnector.
1 голос
/ 24 ноября 2011

Если вы используете статическую сеть брокеров , вам необходимо указать все ips брокеров, образующих сеть брокеров.

 <networkConnector name="HA Queue" uri="static:(tcp://host1:61616,tcp://host2:61616)"/>

также попробуйте указать транспортный соединитель следующим образом:

    <transportConnectors>
       <transportConnector name="openwire" uri="tcp://0.0.0.0:61616" />
    </transportConnectors>
...