2016-08-26 122 views
0

在Spring集成中,我有處理動態通道創建的問題,但是當我調試應用程序時,我發現不同通道之間存在「阻塞」問題。彈簧集成異步錯誤處理

爲了獲得動態的通道,我分在父母/子女上下文的應用程序,我有以下Spring集成基礎設施:當所有的TCP連接都OK

Gateway (parent) --> Transformer(Parent) --> Router (Parent/Child) --> TCP outbound (child) 

此配置工作正常。出於測試目的,我停止了客戶端連接的不同服務器,我可以看到errorChannel只接收錯誤(連接被拒絕),但其他適配器也停止。我想重定向/丟棄/分開這些錯誤,並避免傳播到共同的errorChannel

我明白errorChannel是一個共同的渠道,在父上下文中共享,但我怎樣才能爲每個子上下文開發完整的分離方案?常見網關是否是問題?

我看到帖子Error handling in Spring integration flow async但我有一個完全分離的環境爲每個孩子,我想利用這些動態分離。這可能嗎?

回答

0

您可以使用自己的錯誤通道爲每個孩子添加另一個網關。

--> Router (Parent/Child) -> service-activator (child) -> gateway(child) -> TCP Out. 

網關服務接口需要void返回,因爲沒有預期的回覆。

+0

這真的很有幫助。 – crm86