Google Website Translator Gadget

martes, 17 de diciembre de 2013

Procrun, Prunsrv: Com generar un servei Windows d'una aplicació Java

http://commons.apache.org
Moltes vegades ens caldria que una aplicació  Java funcioni com a servei Windows.
Això passa per exemple amb el servidor Apache Tomcat, però pot ser necessari per algun programa nostre.


Com fer un servei Windows d'un programa Java?

Afortunadament hi ha es conjunt d'aplicacions procrun que ens ajuden, i molt, a aconseguir-ho.
Veiem-lo amb un exemple fet amb Eclipse:

PasExemple
Compilar el programa com "Runnable JAR file"
Verificar que el programa funciona correctament.java -jar path\to\Newsdeploy.jar
Crear un script de instal·lació.
Aquí (GitHub) tens un exemple 
cls
set SERVICE_NAME=NewISHope
set PR_DESCRIPTION=New IS Hope service example
set PR_INSTALL="C:\temp\prunsrv.exe"
set PR_DISPLAYNAME=New IS Hope display text
REM Service log configuration
set PR_LOGPREFIX=%SERVICE_NAME%
set PR_LOGPATH=c:\temp
set PR_STDOUTPUT=c:\temp\stdout.txt
set PR_STDERROR=c:\temp\stderr.txt
set PR_LOGLEVEL=ERROR
REM Path to java installation
set PR_JVM=C:\Program Files\Java\jre7\bin\client\jvm.dll
set PR_CLASSPATH=C:\Temp\NewsdeployJAR.jar
REM Startup configuration
set PR_STARTUP=auto
set PR_STARTMODE=jvm
set PR_STARTCLASS=com.triskellcat.NewsdeployPkg.Newsdeployclass
set PR_STARTMETHOD=start
REM Shutdown configuration
set PR_STOPMODE=jvm
set PR_STOPCLASS=com.triskellcat.NewsdeployPkg.Newsdeployclass
set PR_STOPMETHOD=stop
REM JVM configuration
set PR_JVMMS=256
set PR_JVMMX=1024
set PR_JVMSS=4000
echo DESINSTAL·LANT:
c:\temp\prunsrv.exe //DS//%SERVICE_NAME%
ECHO INSTAL·LANT:
c:\temp\prunsrv.exe //IS//%SERVICE_NAME%
echo CONFIGURATION EDITOR:
c:\temp\prunmgr.exe //ES//%SERVICE_NAME%
Executa'l com a Administrador

Nota: Malgrat que tinguis dret d'administrador, cal executar-ho com a Administrador.
Verifica que els paràmetres han quedat carregats

Important revisar el compte amb el que s'ha d'arrencar el servei
Nivell de logs
Important revisar el paràmetre "Java Options"
ha de contenir el camí (path) fins al fitxer .jar de la teva aplciació
Verificar també la class.

La class indicada ha de ser la classe final (inclós el nom del paquet complert).
El mètode ha d'incorporar com a paràmetre d'entrada String[] obligatòriament.


Errors comuns

ErrorSol·lució
Could not start service on Local Computer... ... error code 4

Service error. Error code 4






Normalment va associat a un error que trobaràs al fitxer indicat al apartat de "Nivell de logs" (Veure apartat anterior):

FindClass com/MyPackage/MyClass failed



  • Revisar la presència de la classe indicada i de totes les llibreries associades.
  • Revisar els mètodes indicats al inici i final per a verificar que declaren entrada de paràmetre.

Enllaços relacionats:

Apache Commons Procrun
Apache Tomcat
BAT d'instal·lació
joerglenhard.wordpress.com

No hay comentarios:

Publicar un comentario