您好,我安装了我的 java 服务以通过 apache 公共守护进程 prunsrv 运行。我无法阻止它。有时,当从 Windows 服务控制台重新启动服务时,它会挂起;奇怪的是,我的服务已正确停止,如 apache 日志中所示。问题似乎与此 https://issues.apache.org/jira/browse/DAEMON-288 相同,即使修复似乎已经在版本 0.15 中实现。对于 0.14 版,问题不存在,但对于 0.14 版,服务会随机重新启动(不适合我的需要)。 这里有显示服务停止的日志:
[2016-01-19 11:12:52] [info] [ 2036] Commons Daemon procrun (1.0.15.0 64-bit) started
[2016-01-19 11:12:53] [info] [ 2036] Running 'xxxxxxx' Service...
[2016-01-19 11:12:53] [info] [ 1400] Starting service...
[2016-01-19 11:12:54] [info] [ 1400] Service started in 1546 ms.
[2016-01-19 11:58:50] [info] [ 2648] Stopping service...
[2016-01-19 11:58:51] [info] [ 2648] Service stop thread completed.
之后 Windows 服务控制台打印“
stopping service
”,一段时间后(我想是 1 分钟)它说“Windows could not stop the service on local computer. Error 1053: The service did not respond to the start or control request in a timely fashion
”;然后服务无法重启(windows服务控制台继续显示为stopping
),我们必须重启机器。
有没有人遇到同样的问题?
谢谢
是的,我发现了 1.0.15 版本的问题,对我来说,降级到以前的 1.0.14 版本就足够了。与open bug相关:
https://issues.apache.org/jira/browse/DAEMON-298
(虽然 288 被标记为已解决)。
如果找不到好的方法,可以在停止方法中使用 System.exit(0);。