【发布时间】:2009-10-22 09:09:09
【问题描述】:
我有一个生成工作线程并在工作线程中处理文件的应用程序。在应用程序关闭请求中,我希望应用程序仅在工作线程完成处理当前文件(如果它正在处理文件)时关闭。我正在使用 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 wrapper.shutdown.timeout=60 wrapper.signal.mode.hup=FORWARD wrapper.startup.timeout=300 wrapper.usesystemtime=FALSE wrapper.ping.timeout=120
谁能帮我解决我正在做的错误。
【问题讨论】: