在Mule中,我在HTTP端点周围成功使用,以捕获连接异常/超时。我捕获了3个不同的Java异常:
我想将这些3的捕获物放入我failureExpression
块中的until-successful
,但是当我尝试做类似
#[exception-type:XYZ || exception-type:ZYX]
#[exception-type:XYZ] || #[exception-type:ZYX]
我收到错误,无法解析这些错误。有什么方法可以指定failureExpression
来检查多种异常类型吗?
答案 0 :(得分:3)
我能够用这个达到我想要的目的:
failureExpression="#[exception != null && (exception.causedBy(java.net.ConnectException) || exception.causedBy(java.net.SocketTimeoutException) || exception.causedBy(java.net.SocketException))]"
我的问题是失败表达式中的exception
可能是null
,所以我不得不执行空检查。
答案 1 :(得分:1)
这是不正确的MEL语法。它应该是#[exception is Type1 || exception is Typ2]
。
请参阅: