簡體   English   中英

從Apache ServiceMix內部啟動長時間運行的過程

[英]Starting long-running process from within Apache ServiceMix

我正在尋找建議或想法。

有一個外部進程(甚至是瀏覽器)需要通過簡單的Web服務調用來觸發一個長期運行的進程,理想情況下,該進程應該在與該Web服務相同的容器中運行。 我們正在使用Apache ServiceMix。 Web服務本身在長時間運行的過程中不應該處於活動狀態,除了它可能隨時會超時之外,因此我們希望它通常立即返回響應。

最初,我當時想使用ProcessBuilder()作為另一個應用程序來啟動長時間運行的進程,但是這樣做會引入某些OS依賴項,並且無論如何似乎都不是理想的做法。 我們考慮的選項之一是從請求中啟動另一個線程,並僅使請求立即完成並返回響應,而長時間運行的線程將根據需要繼續運行。 我擔心容器的資源劫持以及長時間運行的線程的運行狀況會在其啟動器/父級退出時丟失對該長時間運行的孩子的任何引用。

如果有人對如何以一種優雅的方式解決這個問題有任何好的想法,請告訴我。

非常感謝你!

我在這里猜測是因為您沒有提供servicemix的版本。 盡管servicemix附帶了Camel,但我有兩條途徑,第一個是提供Web服務,第二個是長期運行的過程。 第二條路線應使用seda組分。 這將給您異步調用。

暫無
暫無

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

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