2013-12-21 4 views
2

Я запускаю службу Java для опроса данных из базы данных. В моем классе у меня есть поток, который ищет данные в db каждые 5 секунд ... В определенное время (например, 6 часов вечера, когда из рабочего времени) я делаю свой поток спать до некоторой настроенной задержки времени.Служба Java перезапускается 4 или 5 раз

Проблема: когда я делаю мою нить спать, кажется, моя служба Java перезапуске ... Почему я получаю 4, 5 JVM начал ... Пожалуйста, помогите мне понять ....

ERROR | wrapper | 2013/12/21 15:40:10 | JVM did not exit on request, termination requested. 
STATUS | wrapper | 2013/12/21 15:40:10 | JVM exited after being requested to terminate. 
STATUS | wrapper | 2013/12/21 15:40:14 | Launching a JVM... 
INFO | wrapper | 2013/12/21 15:40:14 | Command: "C:\Windows\system32\java.exe" -Dfile.encoding=Cp1252 -Duser.language=en -Djava.library.path="../lib" -classpath "java-windows-OSN-service.jar;../lib/wrapper.jar;../lib/log4j-1.2.15.jar;../lib/sqljdbc4.jar" -Dwrapper.key="PHie-UB6SOJ9BBlfqJKjPuopQ40gFfnH" -Dwrapper.port=32000 -Dwrapper.jvm.port.min=31000 -Dwrapper.jvm.port.max=31999 -Dwrapper.pid=6116 -Dwrapper.version="3.5.22-pro" -Dwrapper.native_library="wrapper" -Dwrapper.arch="x86" -Dwrapper.cpu.timeout="10" -Dwrapper.jvmid=4 -Dwrapper.lang.domain=wrapper -Dwrapper.lang.folder=../lang com.servion.service.ServiceController 
INFO | jvm 4 | 2013/12/21 15:40:15 | Control Event: 1 
ERROR | wrapper | 2013/12/21 15:40:43 | Startup failed: Timed out waiting for a signal from the JVM. 
+0

Что запуска виртуальной машины Java? –

+0

Я не получил вас. – user2641506

+0

Ну, вы, очевидно, не используете его из командной строки, что использовать, чтобы обернуть приложение Java в службу? –

ответ

0

Просто догадка, но я предполагаю, что когда вы делаете свое приложение сна, вы также останавливаете механизм сторожевого таймера от Tanukisoft для ответа на пробники, поэтому Tanuki считает, что ваше приложение заморожено.

Посмотрите на методы интеграции для автономных приложений с Tanukisoft: http://wrapper.tanukisoftware.com/doc/english/integrate.html

+0

Я только что изменил свой код, чтобы не спать вообще ... Все еще JVM хвастается 5 раз ... – user2641506

+0

Вы читали http://wrapper.tanukisoftware.com/doc/english/integrate.html? Вы реализовали один из методов? Который из ? – Guillaume

2

Упаковочный программное обеспечение связывается с начатой ​​JVM очень часто и проверяет, является ли он жив или нет. Когда вы заставляете приложение спать, это сообщение терпит неудачу, и оболочка уведомляет о зависании процесса и пытается его перезапустить. Чтобы этого избежать, вы должны сконфигурировать файл wrapper.ping.timeout в своей оболочке conf. Чтобы избежать таймаута, установите для свойства значение «0».

Проверить более подробную информацию о пинг timeout- wrapper.ping.timeout configuration

Если у вас есть какие-либо проблемы тайм-аута в запуске приложения (значение таймаут по умолчанию 30 секунд) Измените значение в обертке конф к «0» во избежание перезапуска приложения. wrapper.startup.timeout = 0

Проверить более подробную информацию о времени ожидания запуска - wrapper.startup.timeout configuration