2013-08-08 3 views
0

단일 ActiveMQ 대기열을 수신하는 WSO2 ESB가 있습니다. 그러나 우리는 JMS 대기열을 수신 할 때 여러 프록시를 구성하려고합니다. 그러나 우리는 프록시가 의미하는 메시지 만 사용하기를 원합니다. 지정된 메시지 만 사용하도록 ESB 프록시에서 JMS 메시지 선택기를 설정하는 메커니즘이 있습니까? ?WSO2 ESB 프록시 - JMS 메시지 선택자

감사 라지브 파틸

답변

0

AFAIK는 이러한 선택을 수행 할 수 없다. 그러나 위의 두 가지 접근 방법이 있습니다.

  1. 각 프록시는 모든 메시지를 읽고 위를 달성하기 위해 프록시 자체
  2. 사용 EIP pattern 내부에서 처리 할 선택할 수 있습니다. 가능한 패턴은 Message Routing이며 메시지를 선택하고 메시지를 처리 ​​할 원하는 시퀀스 또는 프록시로 보낼 수 있습니다.
0

예, 특정 JMS MessageSelector를 따르는 동일한 대기열을 수신 대기하는 여러 프록시 서비스를 가질 수 있습니다.

<parameter name="transport.jms.MessageSelector">account='100'</parameter> 

그리고 JMS 브로커에 메시지를 보내는 자바 메시지 프로듀서를 설정하는 것입니다 : 당신은이 같은 각 프록시의 transport.jms.MessageSelector 매개 변수를 설정해야합니다 (값 100은 다른 번호를 포함하는 각 프록시 서비스가 변수입니다) 메시지 선택자 :

// this will set a key/value pair as JMS message selector 
// 100 should be a variable in your case 
message.setStringProperty("account", "100"); 

이것은 ActiveMQ 4.7 및 WSO2 ESB 4+에서 테스트되었습니다.