如何根据Jersey Rest
或201
处理503
服务响应?我可以将groovy
和其他评估者混在一起吗?在我的例子中,部分是使用消息属性和其他groovy
<flow>
<http:outbound-endpoint address="${host}" exchange-pattern="request-response"/>
<when expression="message:INBOUND:http.status==201">
<flow-ref name=="flow2">
<when expression="message:INBOUND:http.status==503">
<flow-ref name="flow3">
<when expression="payload instanceof java.lang.SocketException" evaluator="groovy">
<flow-ref name="flow4">
</flow>
答案 0 :(得分:1)
您可以使用MEL语法完成所有这些操作。
choice
也需要一个otherwise
块,在这种情况下决定你想要做什么。
<flow>
<http:outbound-endpoint address="${host}" exchange-pattern="request-response"/>
<choice>
<when expression="#[message.inboundProperties['http.status']==201]">
<flow-ref name=="flow2">
</when>
<when expression="#[message.inboundProperties['http.status']==503]">
<flow-ref name="flow3">
</when>
<when expression="#[exception instanceof java.net.SocketException]">
<flow-ref name="flow4">
</when>
<otherwise>
<!-- decide what you want to do here -->
</otherwise>
</choice>
</flow>