我有一个应用程序可以生成工作线程并在工作线程中处理文件。在应用程序关闭请求中,我希望应用程序仅在工作线程完成处理当前文件(如果它正在处理文件)时关闭。我正在使用 JavaServiceWarapper 来管理我的应用程序。
我添加了关闭钩子,通知工作线程在收到关闭请求时不要开始处理新文件。
处理文件永远不会超过 30 秒,我将超时设置为 60 秒,只是为了安全起见。
出于某种原因,当我触发停止时,我的应用程序立即关闭并且不等待工作线程完成。工作线程收到关闭请求,但应用程序立即退出(并且不等待 60 秒)
我有一些重要的设置 wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp wrapper.adviser=FALSE wrapper.debug=FALSE wrapper.disablerestarts=FALSE wrapper.jvmexit.timeout=60 wrapper.requestthreaddumponfailedjvmexit=TRUE .timeout=60 wrapper.signal.mode.hup=FORWARD wrapper.startup.timeout=300 wrapper.usesystemtime=FALSE wrapper.ping.timeout=120
任何人都可以帮助我解决我正在做的错误。