2013-09-04 2 views
1

Mule에서 "복잡한"흐름에서 참조하는 catch 예외 전략을 사용하고 있습니다. 예외 전략에 jdbc 구성 요소를 넣어서 오류가 발생했을 때 테이블 레코드를 업데이트하십시오. 이 테이블에 예외 스택 추적에 액세스하려면 어떻게해야합니까? 예외 전략의 시작 부분에서 페이로드를 확인했으며 유형이 org.apache.commons.httpclient.methods.PostMethod 인 사실은 http 호출 중에 오류가 발생했습니다.Mule - 오류 처리

답변

3

예외 전략에서는 페이로드에서 예외를 사용할 수 없습니다. Message 객체의 exceptionPayload 변수에서 사용할 수 있습니다. .

사용

예외 예외 = (예외) message.getExceptionPayload() getException();

이렇게하면 ExceptionPaylaod 객체에 getException() 메서드가 예외 객체를 제공합니다.

스택 추적을 얻으려면 다음을 사용하십시오.

StackTraceElement[] ste = exception.getCause().getStackTrace(); 

은 거기에서 당신은 당신이 필요로 계속할 수 있습니다.

희망이 도움이됩니다.

+0

감사합니다. 도움이됩니다. 콘솔 (루트 예외 스택 추적 : java.net.UnknownHostException)에서 볼 수있는 Java 스택 추적을 포함하지 않는 Mule 예외 메시지가 나타납니다. 그것을 얻을 수있는 방법이 있습니까? – user1820620

+2

또한 MEL에서 현재 예외는 '예외'변수 아래에 바인딩됩니다. –

+0

StackTrace를 얻으려면 해답을 솔루션으로 업데이트하십시오. – user1760178