2014-03-25 2 views
1

데이터베이스에서 값을 찾고 Array 형식으로 결과를 맵 형식으로 반환하는 Mule 플로우가 있습니다. 그런 다음 응답을 확인하기 위해 DB 호출을 한 후 페이로드를 직접 로깅합니다. 좋은 반응의 예는 다음과 같습니다Mule - ArrayList가 비어있는 경우 수행 할 작업

org.mule.api.processor.LoggerMessageProcessor: [{ID=1234567, NAME=Test}] 
레코드가 같이있는 발견되지 어디 응답을 처리하는 내 흐름의 다음 단계에서 선택 요소를 포함하려면

:

org.mule.api.processor.LoggerMessageProcessor: [] 

이 인스턴스에서 흐름을 지정하는 데 사용할 표현식은 무엇입니까? #[payload==''], #[payload=='[]'#[payload==null]을 시도했지만 성공하지 못했습니다. 미리 감사드립니다.

답변

4

방금이 답변을 발견했습니다. 빈 페이로드

+0

동일한 시도했지만 예외가 발생했습니다. "# [message.payload.size() == 0]"표현의 실행이 실패했습니다. (org.mule.api.expression.ExpressionRuntimeException). 메시지 페이로드 유형 : LinkedList? 이 오류를 어떻게 해결해야합니까? – vashishth

+0

'# [payload == empty]'를 시도해 보셨습니까? – danw

1

#[payload == empty] 검사 : 페이로드 때문에 같은 크기 확인 to xml and filter #[payload != '<linked-list/>']

0

변환 개체에 대한

<when expression="#[payload.size()==0]"> 
    ... 
</when> 

것은 아직도이 일을 더 나은/다른 방법이있는 경우 청각에 관심이있을 것입니다 ...

관련 문제