2011-11-23 3 views
1

2 명의 중개인으로 구성된 ActiveMQ 네트워크를 만들려고합니다. 내가 네트워크의 한 가정하고 위의 XML 구성에서 관련 가이드 (http://activemq.apache.org/networks-of-brokers.html)ActiveMQ Network Brokers

<?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> 

에 설명 된대로 나는 그 구성을 완료했다 브로커가 host1에서 실행 중이고 broker가 host2에서 실행 중입니다. host2에서 실행중인 브로커는 반대 값을 갖습니다. JMS 프로를 시작하는 데 실패하고이 나타나는 유일한 메시지가 로그 파일에 예외를 생성하지 않습니다

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

나요 적 설정을 관리하는 두 개 이상의 ActiveMQ를 브로커의 네트워크 누구?

답변

1

static network of brokers을 사용하는 경우 브로커 네트워크를 구성하는 브로커의 모든 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> 
+0

답장을 보내 주셔서 감사합니다. xml 태그에 오류가있는 것으로 나타났습니다. 리눅스에서는 이상하게도 오류 메시지가 표시되지 않았습니다. 내가 창문 아래 runned했을 때 XML 태그에 오류가 발생했습니다. 정적 선언에서 모든 ips를 지정하지 않았고 네트워크가 제대로 구성되어 있는지 확인할 수 있습니다. – user944643

1

이것은 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> 

중요한 것은 인식이이 AMQ 브로커를 정의하는 XBean 설정이있는 스프링 구성 (http://www.springframework.org/schema/beans) 때문이다의 (http://activemq.apache.org/schema/core).

나는 또한 srodriguez가 말한 것을 되풀이하여, 귀하의 transportConnector의 호스트 이름으로 0.0.0.0을 사용합니다.