我们正在从 Servlet 启动一个外部进程。
try {
Process proc = Runtime.getRuntime().exec("java -jar " + jarLocation );
servlet 和外部进程使用相同的 userid/pwd 访问同一个数据库。
servlet 不等待外部进程完成。
servlet 在不到一秒的时间内完成其处理。
从 Servlet 启动时,外部应用程序至少需要两分钟才能完成。
在独立模式下运行时,外部应用程序大约需要 5 秒才能完成。
我们尝试在外部进程启动后停止 Web 应用程序,这导致外部进程立即完成。
因此,Servlet 和外部进程之间似乎存在某种交互,导致该进程需要很长时间才能完成。几天来,我们一直试图弄清楚可能发生的事情,但一无所获。
有人知道这里会发生什么吗?