2014-11-24 1 views
1

활성 MQ에 조금 익숙하므로 저와 함께하시기 바랍니다.ActiveMQ 3.8.3 (CPP) 관련 문제 priorityBackup이 작동하지 않습니다.

일부 Java 및 CPP 응용 프로그램에 대해 ActiveMQ 우선 백업 기능을 이용하려고합니다. 두 개의 다른 서버 (로컬 및 원격)에 두 명의 브로커가 있으며, 내 애플 리케이션에 대해 다음과 같은 동작을 원합니다.

  1. 항상 우리는 그 지역에 다시 연결,
  2. 현지 브로커가 다운되면 시작
  3. 의 로컬 브로커에 연결 원격에 연결되어있는 동안 현지가 다시 온다면, 원격
  4. 에 연결합니다. 나는 단순히 내 URI 옵션 즉 장애 조치 priorityBackup을 추가하여 자바 애플리케이션에서 테스트에 성공을 거두었습니다

: (TCP : // 지역 : 61616, TCP를 : // 원격 : 61,616)? 무작위 = false & priorityBackup = true

그러나 CPP 쪽에서는 원활하게 진행되지 않습니다.

(기본 작업 페일 오버 기능을 - 현지가 다운 될 때 일명 원격 점프)을 CPP 애플 리케이션에서 잘 작동 다음

장애 복구 : TCP, 61616 : (TCP를 : // 현지 // 원격 : 61616)? randomize = false

uri 옵션을 priorityBackup으로 업데이트하면 페일 오버 기능이 완전히 중단됩니다 (내 앱이 원격 브로커로 페일 오버하지 않고 브로커리스/림보 상태에 머무름) 다운 타임) 장애 조치 : (tcp : // local : 61616, tcp : // remote : 61616)? randomize = false & priorityBackup = true

여기에 누락 된 것이 있습니까? 내가 포함시켜야하는 추가 uri 옵션은 무엇입니까?

UPDATE : 전송 커넥터 정보

<transportConnectors> 
      <transportConnector name="ClientOpenwire" uri="tcp://0.0.0.0:61616?wireFormat.maxInactivityDuration=7000"/> 
      <transportConnector name="Broker2BrokerOpenwire" uri="tcp://0.0.0.0:62627?wireFormat.maxInactivityDuration=5000"/> 
      <transportConnector name="stompConnector" uri="stomp://0.0.0.0:62623"/> 
</transportConnectors> 
+0

브로커는 어떤 버전입니까? –

+0

죄송합니다. 포함시켜야합니다. 내 CPP 및 JAVA 응용 프로그램은 버전 5.8.0의 브로커를 친다. –

+0

전송 커넥터 구성을 게시 할 수 있습니까? –

답변

0

backuppriorityBackup 매개 변수는 라이브러리의 Java 및 C++ 구현 완전히 다른 방식으로 처리됩니다. Java 구현은 잘 작동하지만 불행히도 C++ 구현이 손상되었습니다. 이 문제를 해결할 수있는 추가 옵션은 없습니다. 이 문제를 해결하려면 라이브러리를 심각하게 변경해야합니다.

이 문제는 activemq-cpp-library-3.8.3 및 여러 버전의 브로커 (5.10.0, 5.11.1)를 사용하여 테스트했습니다. 3.8.4 릴리스에서는 문제가 해결되지 않았습니다.

+0

3.9.3을 확인했지만 여전히 동일한 문제가 있습니다. – Bokhari