Printemps de démarrage BOCAL en tant que service windows

Je suis en train d'envelopper un printemps de démarrage "uber POT" avec procrun.

Exécutant la commande suivante fonctionne comme prévu:

java-jar my.jar

J'ai besoin de mon ressort de démarrage jar pour démarrer automatiquement au démarrage de windows. La plus belle solution pour cela est de lancer le pot comme un service (même en tant qu'unité autonome de tomcat).

Lorsque j'essaie d'exécuter ce que je suis "Commons Daemon procrun a échoué avec la sortie de valeur: 3"

Regardant le printemps-source de démarrage, il semble que si il utilise un classloader personnalisé:

https://github.com/spring-projects/spring-boot/blob/master/spring-boot-tools/spring-boot-loader/src/main/java/org/springframework/boot/loader/JarLauncher.java

J'ai aussi une "ClassNotFoundException" lorsque vous essayez d'exécuter ma méthode principale directement.

java -cp my.jar mon.MainClass

Est-il une méthode que je peux utiliser pour exécuter ma méthode principale dans le ressort de démarrage pot (pas via JarLauncher)?

Quelqu'un a réussi à intégrer spring-boot avec procrun?

Je suis conscient de http://wrapper.tanukisoftware.com/. Cependant, en raison de leur permis de conduire, je ne peux pas l'utiliser.

Mise à JOUR

J'ai maintenant réussi à démarrer le service de l'aide procrun.

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%

J'ai maintenant juste besoin de séance d'entraînement de savoir comment arrêter le service. Je suis la pensée de faire quelque chose avec le printemps-démarrage de l'actionneur de l'arrêt de JMX Bean.

Ce qui se passe quand j'ai arrêter le service est à l'heure actuelle, windows ne parvient pas à arrêter le service (mais la marque comme à l'arrêt), le service est toujours en cours (je peux parcourir localhost), Il ne mentionne pas le processus dans le gestionnaire des tâches (Pas très bon! sauf si je suis aveugle).

Printemps de Démarrage des besoins de la classe personnalisée, chargeur comme c'est préciser build pour le Printemps de Démarrage jar format (c'est à dire y compris les imbriquée des pots). Si non, vous aurez besoin d'exécuter java -jar my.jar en quelque sorte pour démarrer le service. Quand sur windows, vous pouvez toujours utiliser un fichier de commandes pour lancer le service... Voir stackoverflow.com/questions/415409/...
Je me doutais bien que c'était le cas. J'ai d'abord pensé spring boot est seulement à l'aide de l'maven ombre plugin. Je vais regarder dans RunAsService comme suggéré dans votre lien
Il y a plus de suggestions dans le fil, vous pourriez vouloir essayer. NSSM a l'air prometteur.
J'espère que la solution je l'ai mentionné fonctionne pour vous, j'avais été dans la même et a été en mesure d'obtenir cette mise en place sans trop de difficultés et a travaillé sans problème pour un certain temps maintenant.
Ceci est possible en utilisant le Printemps 1.3 docs.printemps.io/spring-boot/docs/1.3.x/de référence/htmlsingle/...

OriginalL'auteur roblovelock | 2014-06-09