如何在完成所有文件的所有處理後,在彈簧集成中創建自動關閉?我的應用程序使用大量文件作爲輸入並使用http出站網關作爲最後一個端點,所以我對每個文件輸入都有http出站請求,並且我嘗試使用該端點的最後一個http響應作爲關閉觸發器(context.close ())春天融合。我的想法是嘗試使用(System.currentTime() - lastTimeGatewayResponse)> = idleTime作爲觸發器。但我沒有找到從該網關獲取lastTimeGatewayResponse的方法。彈簧集成自動關機
然後我嘗試下載http://forum.spring.io/forum/spring-projects/integration/116366-orderly-shutdown-how-to-know-when-downstream-executor-is-idle。但是mybe不是最好的解決方案,因爲我的應用程序在進程未完成時已經關閉。
任何人都有這方面的經驗?
感謝
我們可以從主類入口點(我們稱之爲context.xml的地方)調用「lastTimeGatewayResponse/timeSinceLastSend」嗎?或者應該在端點內調用?在你的建議是在,如果我這樣如何調用context.close()?提前致謝。 –
Harji
你能舉個例子嗎?謝謝。對不起,請求很多。 – Harji
好吧,如果它是'main',通常它會在上下文刷新之後停止,因爲沒有任何東西可以阻止該主線程。無論如何,您可以訪問'timeSinceLastSend'屬性從該上下文獲取'MessageChannel' bean。您應該定期做這個問題,或作爲每個文件進程的附帶事件。僅僅因爲你需要在最後一個之後有空閒時間。 –