2016-06-11 2 views
0

사용자 정의 AggregationStrategy와 함께 분산 수집 기능을 사용하고 있습니다. 이 스 캐터 내의 여러 웹 서비스 사용자가 모이는 위치. 그리고 난 .. 이러한 이벤트에서 등 메시지 프로세서 이름, 원래의 페이로드, 아웃 바운드 주소 등이 소비자에 대한 정보를 검색 할 그런뮬 분산기 사용자 정의 집계 가져 오기 메시지 처리기

뭔가가 필요합니다

public class CustomAggregation implements AggregationStrategy { 
    @Override 
    public MuleEvent aggregate(AggregationContext context) throws MuleException { 
     for (MuleEvent event : context.collectEventsWithoutExceptions()) { 
      ...get message processor name from event... 
      ...get message processor payload from event... 
     } 
     for (MuleEvent event : context.collectEventsWithExceptions()) { 
      ...get message processor name from event... 
      ...get message processor payload from event... 
     } 
    } 
} 

을하지만 난에 메시지 프로세서에 대해 아무것도 찾을 수 없습니다 이 사건들. 어떻게해야합니까?

답변

0

메시지 프로세서 페이로드는 각 MuleEvent의 MuleMessage (event.getMessage().getPayload())에서 찾을 수 있습니다. 메시지 프로세서 이름이나 왜 필요할지 모르겠다. 아마도 scatter-gather의 각 경로에 필요한 데이터로 속성이나 변수를 설정할 수있다. HTH

+0

"경로 1의 오류"는 정보가 아닙니다 .. –

+0

오류가있는 경우 MuleMessage는 유익한 예외 페이로드를 가지며'event.getMessage() '를 통해 액세스 할 수 있습니다. .getExceptionPayload()'''. – afelisatti

+0

예,하지만 어떤 경로가 실패하는지에 대한 정보는 없습니다. 비슷한 웹 서비스 소비자가 몇 명 있으며 어떤 것이 실패하는지 알고 싶습니다. Like "주소가 **** 인 웹 서비스에서 오류가 발생했습니다." 그리고 나는 또한 성공적인 응답을 기록하고 싶다. –