Mule потоков:Mule Rest обработка исключений
<jersey:resources doc:name="REST">
<component class="com.test.qb.rest.MapIIFContent"/>
<jersey:exception-mapper class="com.test.qb.exception.IIFExceptionMapper" />
</jersey:resources>
<catch-exception-strategy doc:name="Audit Exception" >
<set-variable variableName="status" value="Failure" doc:name="Status"/>
<flow-ref name="QB:audit" doc:name="audit"/>
<http:response-builder status="500" contentType="application/json" doc:name="Status Code"/>
</catch-exception-strategy>
<logger message=" ===Reached here====" level="INFO" doc:name="Logger"/> <!-- Line 10-->
Java Rest компонент:
Rest Компонент:
try{
String s =null;
s.toString();// throw nullpointer exception
} catch (IIFException e) {
return Response.status(500).entity(e.getMessage()).type("Application/json").build();
}
return Response.ok(res).build();
Когда я запускаю это, он идет, чтобы поймать блок в компоненте Java Rest с статус ошибки как 500. Но в потоках Mule я ожидаю, что поток должен достигнуть
«поймать-исключение-стратегии документ: имя =„Аудит Exception“>
блок, но он не достигает там, вместо этого он доходит до линии 10. Как справиться с этим?
Странно, что у вас есть и ' exception-mapper' и 'catch-exception-strategy': не является ли ответ' 500', созданный в 'MapIIFContent'? Что произойдет, если вы удалите 'jersey: exception-mapper': работает ли' catch-exception-strategy'? Если нет, это означает, что «Джерси: ресурсы» исключения перехватываются Джерси и никогда не доходят до Мула. –
@DavidDossot, после комментирования трикотажа: исключение-mapper, никаких изменений, тот же поток продолжается, и стратегия catch-exception не работает, т. Е. Проблема, исключение трикотажа не достигает мула. Как общаться с мулом из трикотажа? – bekur