2013-12-10 15 views
2

在Mule中,我正在使用一個成功的HTTP端點,以捕獲連接異常/超時。我趕上3種不同的Java異常:直到成功的失敗表達式檢查多種類型的異常

  • java.net.ConnectException
  • java.net.SocketTimeoutException
  • java.net.SocketException異常

我希望把這些捕3轉換成我的until-successful塊中的failureExpression,但是當我嘗試做類似

  • #[exception-type:XYZ || exception-type:ZYX]
  • #[exception-type:XYZ] || #[exception-type:ZYX]

我得到一個錯誤,它無法解析這些。有沒有什麼辦法可以指定failureExpression來檢查多種異常類型?

回答

3

我能夠實現我想要使用此:

failureExpression="#[exception != null && (exception.causedBy(java.net.ConnectException) || exception.causedBy(java.net.SocketTimeoutException) || exception.causedBy(java.net.SocketException))]" 

我的問題是在故障表達exception可能是null,所以我必須執行空檢查。

+0

接受答案,以便問題顯示已完成答案。 – user1760178

+1

我會的,直到我提交答案後的24小時內,我纔會接受我自己的答案。明天我會接受它是正確的。 – Nicholas