Я пытаюсь завернуть загрузку spring "uber JAR" с прокруткой.
Выполнение следующих работ, как ожидалось:
java -jar my.jar
Мне нужна моя загрузочная банка spring для автоматического запуска при загрузке Windows. Самое приятное решение для этого было бы запустить банку как услугу (такую же, как автономный tomcat).
Когда я пытаюсь запустить это, я получаю "Прокрутка Commons Daemon с ошибкой с выходом: 3"
Глядя на источник spring -boot, он выглядит так, как будто он использует пользовательский загрузчик классов:
Я также получаю "ClassNotFoundException" при попытке запустить мой основной метод напрямую.
java -cp my.jar my.MainClass
Есть ли способ, который я могу использовать для запуска моего основного метода в загрузочном банке spring (не через JarLauncher)?
Кто-нибудь успешно интегрировал spring -boot с прокруткой?
Я знаю http://wrapper.tanukisoftware.com/. Однако из-за их лицензии я не могу ее использовать.
UPDATE
Теперь мне удалось запустить службу с помощью прокрутки.
set SERVICE_NAME=MyService
set BASE_DIR=C:\MyService\Path
set PR_INSTALL=%BASE_DIR%prunsrv.exe
REM Service log configuration
set PR_LOGPREFIX=%SERVICE_NAME%
set PR_LOGPATH=%BASE_DIR%
set PR_STDOUTPUT=%BASE_DIR%stdout.txt
set PR_STDERROR=%BASE_DIR%stderr.txt
set PR_LOGLEVEL=Error
REM Path to java installation
set PR_JVM=auto
set PR_CLASSPATH=%BASE_DIR%%SERVICE_NAME%.jar
REM Startup configuration
set PR_STARTUP=auto
set PR_STARTIMAGE=c:\Program Files\Java\jre7\bin\java.exe
set PR_STARTMODE=exe
set PR_STARTPARAMS=-jar#%PR_CLASSPATH%
REM Shutdown configuration
set PR_STOPMODE=java
set PR_STOPCLASS=TODO
set PR_STOPMETHOD=stop
REM JVM configuration
set PR_JVMMS=64
set PR_JVMMX=256
REM Install service
%PR_INSTALL% //IS//%SERVICE_NAME%
Теперь мне просто нужно тренироваться, как остановить службу. Я подумываю о том, чтобы сделать что-то с помощью spring-shutdown shutdown JTX Bean.
Что происходит, когда я останавливаю службу на данный момент; Windows не может остановить службу (но отмечает, что она остановлена), служба все еще работает (я могу перейти на localhost). В диспетчере задач нет упоминания о процессе (не очень хорошо, если я не слеп).