2012-04-02 62 views
2

我有一個使用Spring在Tomcat上運行的Web應用程序。在同一臺機器上有一個普通的Java應用程序。異步調用Web服務器的應用程序

我想通過從Web服務器調用Java應用程序來執行Java應用程序,但是我想讓應用程序不會使用服務器的資源(它涉及分類器的培訓,因此它可能佔用很多資源和時間),它不能掛起服務器(所以它必須異步調用)。

有沒有辦法做到這一點?

回答

3

你有兩種選擇。

  1. 做一個exec和使用java命令啓動一個獨立的JVM實例。

  2. 產生一個新的線程 - 這將使用服務器的資源。

您還可以合併選項1和2並創建一個執行exec調用的線程。

1

是的,從Web服務器註冊RMI回調與獨立的Java應用程序。

當Web應用程序請求獨立應用程序時,它將是同步調用並且不需要很長時間。 一旦獨立應用程序準備好了結果,它將使用RMI回調調用Web應用程序。

0

在您的Java應用程序中,創建一個線程並在其上執行代碼。 Java應用程序將把該調用返回給Web服務器。