我有一個要用騾子解決的需求。我的流程設計如下所示:騾私人流動和關注點分離
- 甲主流與請求 - 響應HTTP入站端點。在對當前有效載荷應用幾次轉換之後,該主流調用兩個私有流,即private-flow1和private-flow2,它們是處理策略是同步的mule私有流。
- private-flow1使用請求 - 響應HTTP出站端點調用外部服務。
- private-flow2使用數據庫連接器將來自外部服務的響應放置在數據庫上。
如果在每個私有流程中有任何異常,我想使用Catch Exception Strategy在相應的私有流程本身中處理它們。
我有這樣的設計來區分顧慮,以便每個流程執行單一的責任。
假設有像IOException異常,或者拋出:SQLException任何異常,在私人資本流動中的任何一個,我怎麼能重新把我的自定義異常,例如,org.mycompany.CustomException其中的根本原因。所以主流程將只需要處理org.mycompany.CustomException並構建相關的異常響應。
說,例如,如果私人-流1拋出一個由IOException異常引起org.mycompany.CustomException,所述realted異常響應將是:
{ 「exceptionMessage」:外部服務不可用, 「exceptionCode」 :101}
,並且如果私有流2拋出其通過的SQLException引起org.mycompany.CustomException,所述realted異常響應將是
{「exceptionMessage」:數據庫不可用,「exceptionCode」:102}
是groovy腳本組件唯一可用選項,以重新引發異常嗎? –
如果你正在計劃自定義異常,你可以使用Java類或Groovy重新拋出自定義異常 –
你能否提供一個例子或鏈接來創建自定義的異常使用java-class將擴展DefaultMessagingExceptionStrategy?以及如何在流中使用這個java-class。 –