异步从Web服务器调用应用程序

我有一个使用Spring制作的Web应用程序,它运行在Tomcat上。 在同一台机器上有一个普通的Java应用程序。

我想通过从Web服务器调用它来执行Java应用程序,但我想这样做,以便应用程序不会使用服务器的资源(它涉及分类器的培训,因此它可能占用大量资源和并且它不能挂起服务器(所以它必须异步调用)。

有没有办法做到这一点?

你有两个选择。

  1. 通过执行exec并使用java命令启动单独的JVM实例。

  2. 产生一个新线程 – 这将使用服务器的资源。

您还可以组合选项1和2,并创建exec调用的线程。

是的,从Web服务器注册RMI回调与独立的Java应用程序。

当Web应用程序请求独立APP时,它将是同步调用,并且不会花费很长时间。 一旦独立应用程序准备好结果,它将使用RMI回调调用Web应用程序。

在Java应用程序中,创建一个线程并在其上执行代码。 Java应用程序将返回对Web服务器的调用。