Apache общие демоны - прокрун. Остановить сервис зависания

Привет, я установил свой Java-сервис для запуска через Apache Common Daemons Prunsrv. У меня проблемы с его остановкой. Иногда при перезапуске сервиса из консоли сервисов windowse он зависает; Странно то, что мой сервис правильно остановлен, как показано в журналах 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), и мы должны перезагрузить машину.

Кто-нибудь сталкивался с такой же проблемой?

Спасибо

2 ответа

Да, я обнаружил эту проблему с версией 1.0.15, и для меня было достаточно понижения до предыдущей версии 1.0.14. Это связано с открытой ошибкой:

https://issues.apache.org/jira/browse/DAEMON-298

(Хотя 288 помечен как решенный).

Вы можете использовать System.exit(0);в вашем методе остановки, если вы не можете найти хороший способ.

Другие вопросы по тегам