2012-04-02 105 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服务器。