2013-03-04 2 views
1

이것은 공통적 인 특징입니다. 그러나 찾을 때 처리 할 수없는 것 같습니다. 나는 같은 흐름을 가지고있다. 사용자 정의 구성 요소가 나는 더 이상의 조치를 폐기하고자하는 메시지를 수신하면Mule 3에서 메시지 처리를 깨끗하게 종료하는 방법은 무엇입니까?

<inbound-endpoint.../> 
    <collection-splitter.../> 
    <custom component.../> 
    ... 

, 어떻게 달성? 컬렉션의 나머지 요소 처리를 중단하고 싶지 않습니다. 단 하나의 항목입니다.

당분간, 구성 요소가 널 (null)을 반환하고 페이로드 유형 필터를 따르지 만, 어색한 것처럼 보입니다.

답변

2

그런 경우 구성 요소를 인터셉터로 변환하십시오. 구성 요소는 다운 스트림 처리를 위해 현재 Mule 이벤트를 전달할지 여부를 결정합니다.

이 경우 org.mule.api.interceptor.Interceptor을 구현해야합니다.

은 자세한 내용은 다음 읽기 : 우리는 노새 3 명 흐름을 메시지 필터를 사용해야합니다 http://www.mulesoft.org/documentation/display/current/Using+Interceptors#UsingInterceptors-WritingInterceptors

0

. MuleEventContext의 setStopFurtherProcessing은 mule 3 플로우에서 지원되지 않습니다.

<message-filter doc:name="Message"> 
    <not-filter> 
     <payload-type-filter expectedType="org.mule.transport.NullPayload"></payload-type-filter> 
    </not-filter> 
</message-filter>