Служба Java перезапускается 4 или 5 раз
Я использую сервис Java для опроса данных из базы данных. В моем классе у меня есть поток, который ищет данные в дБ каждые 5 секунд... В определенное время (скажем, в 6 часов вечера, когда нет рабочих часов), я заставляю свой поток спать с некоторой настроенной задержкой.
Проблема: когда я заставляю свой поток спать, кажется, что мой 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.
2 ответа
Программное обеспечение Wrapper очень часто связывается с вашей запущенной JVM и проверяет, живо оно или нет. Когда вы переводите ваше приложение в спящий режим, это взаимодействие не удается, и оболочка уведомляет об остановленном процессе и пытается перезапустить его. Чтобы избежать этого, вы должны настроить wrapper.ping.timeout в вашей оболочке conf. Чтобы избежать тайм-аута, установите для свойства значение "0".
Проверьте более подробную информацию о конфигурации ping timeout- wrapper.ping.timeout
Если у вас возникли проблемы с тайм-аутом при запуске приложения (значение тайм-аута по умолчанию - 30 секунд) Измените значение в оболочке conf на "0", чтобы избежать перезапуска приложения. wrapper.startup.timeout = 0
Проверьте более подробную информацию о времени ожидания запуска - конфигурация wrapper.startup.timeout
Просто догадка, но я предполагаю, что когда вы переводите ваше приложение в спящий режим, вы также отключаете механизм наблюдения от Tanukisoft для ответа на зонды, поэтому Tanuki думает, что ваше приложение заморожено.
Ознакомьтесь с методами интеграции автономных приложений с Tanukisoft: http://wrapper.tanukisoftware.com/doc/english/integrate.html