我有一個使用Spring在Tomcat上運行的Web應用程序。在同一臺機器上有一個普通的Java應用程序。異步調用Web服務器的應用程序
我想通過從Web服務器調用Java應用程序來執行Java應用程序,但是我想讓應用程序不會使用服務器的資源(它涉及分類器的培訓,因此它可能佔用很多資源和時間),它不能掛起服務器(所以它必須異步調用)。
有沒有辦法做到這一點?
我有一個使用Spring在Tomcat上運行的Web應用程序。在同一臺機器上有一個普通的Java應用程序。異步調用Web服務器的應用程序
我想通過從Web服務器調用Java應用程序來執行Java應用程序,但是我想讓應用程序不會使用服務器的資源(它涉及分類器的培訓,因此它可能佔用很多資源和時間),它不能掛起服務器(所以它必須異步調用)。
有沒有辦法做到這一點?
你有兩種選擇。
做一個exec
和使用java
命令啓動一個獨立的JVM實例。
產生一個新的線程 - 這將使用服務器的資源。
您還可以合併選項1和2並創建一個執行exec
調用的線程。
是的,從Web服務器註冊RMI回調與獨立的Java應用程序。
當Web應用程序請求獨立應用程序時,它將是同步調用並且不需要很長時間。 一旦獨立應用程序準備好了結果,它將使用RMI回調調用Web應用程序。
在您的Java應用程序中,創建一個線程並在其上執行代碼。 Java應用程序將把該調用返回給Web服務器。