2014-10-15 6 views
0

안녕하세요, 저는 노새에서 일하고 있습니다. 특정 대기열을 들으려면 JMS 인바운드를 사용하고 있습니다. 특정 코어 리 레이션 ID와 함께 액티브 MQ에서 데이터를 푸시하고 해당 코어 리 레이션 ID가 이미 뮬 (mule) JMS 인바운드에 구성되어있는 경우와 같이 JMS를 구성하려고합니다. 그것은 듣고 설문 조사 만 할 것입니다. 더 나은 이해를 위해 JMS XML 설정을 공유하십시오.Mule의 특정 Corelation Id 및 Queue에서 데이터를 수신하는 방법

답변

1

는 JMS 인바운드에 jms:selector라는 필터 당신은 당신이 그렇게 특정 corelation ID와의 ActiveMQ에서 메시지를 추진하고있다 말했듯이,

지금의 속성에 따라 특정 유형의 메시지를 선택할 수 있습니다, 당신은 선택할 수 있습니다 다시, 나는 Y를 제안, Mule request-reply consuming all the messages in the JMS reply queue

하지만 -을 : 여기,

<jms:inbound-endpoint queue="reply" 
     connector-ref="Active_MQ" exchange-pattern="one-way" 
     doc:name="JMS-REPLY"/ > 
    <jms:selector expression="JMSCorrelationID='your corelation id'"/> 
</jms:inbound-endpoint> 

당신이 볼 수있는 예를 -이 : 메시지는 다음과 같이 특정 corelation ID를 기반으로 뮬에 소비하는 메시지 기반의 코어 리 레이션 ID를 필터링하지 않을 것입니다. 해당 코어 리 레이션 ID가 사용자가 푸시하는 메시지에 정의되어 있지 않거나 정적 ID로 설정하지 않은 경우, 코어 리 레이션 ID가 다를 경우 소비 할 수 없습니다.

그래서 JMS 메시지를 필터링하는 가장 좋은 방법 인 메시지 우선 순위에 따라 메시지를 필터링하는 것이 좋습니다. 여기

, 당신은 뮬의 메시지 우선 순위가 JMS 메시지에 자신을 흐름을 설정하고 우선 순위 속성에 기반을 소비 할 수있는 방법은 다음과 같습니다 - Mule: JMS reply queue consumes all the messages. I want to process messages that coming to reply queue