我有一个使用Spring制作的Web应用程序,它运行在Tomcat上。在同一台机器上有一个普通的Java应用程序。
我想通过从Web服务器调用它来执行Java应用程序,但我想这样做,以便应用程序不会使用服务器的资源(它涉及分类器的训练,因此它可能会占用很多资源和时间)并且它不能挂起服务器(因此必须异步调用)。
有没有办法做到这一点?
答案 0 :(得分:3)
您有两种选择。
通过执行exec
并使用java
命令启动单独的JVM实例。
产生一个新线程 - 这将使用服务器的资源。
您还可以组合选项1和2,并创建执行exec
调用的线程。
答案 1 :(得分:2)
是的,从Web服务器注册RMI与独立java应用程序的回调。
当Web应用程序请求独立APP时,它将是同步调用,并且不会花费很长时间。 一旦独立应用程序准备好结果,它将使用RMI回调调用Web应用程序。
答案 2 :(得分:1)
在Java应用程序中,创建一个线程并在其上执行代码。 Java应用程序将把调用返回给Web服务器。