簡體   English   中英

Spring集成:異步攔截通道

[英]Spring Integration: Intercept channels Asynchronuously

我有一個Spring Integration應用程序。 它具有配置的各種通道,變壓器,路由器和服務激活器。

需求

每當將調用任何服務激活器時,請求和響應都應保持不變。

解:

我編寫了一個攔截器來攔截所有必需的通道。 然后根據配置,所有必需的請求和響應都將保留在DB中。

上述方法存在問題

每當我重新啟動應用程序服務器時,第一次會花費太多時間來初始化數據庫配置。 第二個問題是,每當執行持久性邏輯時,流程就處於等待狀態。

因此,花時間提供響應。

指導我正在尋求使持久性異步。

有什么辦法可以達到同樣的效果嗎? 我應該為持久性實現實現線程嗎?

任何幫助,將不勝感激。

謝謝。

您正在尋找的技術稱為WireTaphttps : WireTap

因此,無論將要發送到服務激活器的什么內容,都將也發送到“輕敲”通道。 而且確實可以轉移到其他線程以異步保存到數據庫。 為此,您可以考慮將竊聽通道設置為QueueChannelExecutorChannel

第一次需要太多時間來初始化數據庫配置

從體系結構的角度來看,這是錯誤的。 初始化測試環境是可以的,但是在生產中,必須事先准備好數據庫,並且不能對應用程序進行任何模式修改。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM