2014-01-17 4 views
1

В проекте, над которым я работаю, нам нужно «сохранить» работу до остановки пристани, на linux это просто, потому что мы можем назвать другой процесс, на окнах, это непросто , потому что мы регистрируемся в службе Windows, а это значит, что мы можем либо модифицировать файл start.jar, чтобы что-то сделать, чтобы вызвать функцию «stop», либо, здесь мне нужна помощь:Вызовите функцию до остановки пристани

Я хочу, чтобы причал выполняет какой-то процесс, прежде чем он вызывает функцию stop(), или даже до вызова start.Main class, возможно ли это?

Спасибо

ответ

1

Использование shutdown hooks:

Когда виртуальная машина начинает свою последовательность выключения она начнет все зарегистрированные крючки выключения в неопределенном порядке и позволить им работать одновременно. Когда все крючки закончены, он будет запускать все неинвинированные финализаторы, если включена опция finalization-on-exit. Наконец, виртуальная машина остановится.

То есть, выключение крючок держит JVM работает, пока крюк не окончился (вернулись из бегов() -метода.

Вы должны расширить Jetty код этой функции.

+0

Спасибо за ваш ответ, на самом деле то, что мне нужно: я хочу, чтобы какой-то «shutdown-hook» был запущен до того, как JETTY остановился, таким образом я могу сохранить свою работу над JETTY, и это действительно важно. Я знаю решение Shutdown -hook, и реализовал его уже в некоторых других частях ... – Ammar

+0

Вы можете себе это представить: мне нужно что-то похожее r для некоторой функции, которая выполняется до выполнения запуска Main.stop, так что у меня работает JETTY ... Я прочитал о каком-то LifeCycle, но не могу понять, как попасть в него ... – Ammar

Смежные вопросы