Usar o JavaService para adicionar o serviço do Windows

criei uma aplicação Java (executa o ciclo infinito) (com muitos ficheiros de classe Java) que também usa log4j.jar e `snmp4j.jar? . Para executar o aplicativo, eu preciso fornecer alguns argumentos de entrada como segue:

C:\APP>java myApp.class arg1 arg2 arg3 arg4 arg5 arg6

onde myApp.class contém o manipulador principal.

Esta aplicação funciona bem sob a execução da linha de comandos. No entanto, eu quero criar um serviço Windows para esta aplicação de modo que ele será executado sempre que o PC é iniciado. Além disso, se o serviço estiver em baixo para qualquer que seja a razão, ele será reiniciado sob a ferramenta serviços Windows.

tentei usar JavaService para o meu propósito, executando o seguinte comando:

C:\APP>JavaService.exe -install MyService "C:\java\jdk1.6.0.29\jre\bin\server\jvm.dll" -start myApp.class -params arg1 arg2 arg3 arg4 arg5 arg6
The MyService automatic service was successfully installed

vejo que o meu MyService apareceu sob Ferramentas Administrativas - > Serviços

No entanto, quando iniciei o início de MyService, começou e depois parou :(

Service dialog:
The MyService on Local Computer started and then stopped. Some services stop automatically if they have no work to do, for example, the Performance Logs and Alerts service.
Alguém sabe porquê?

Author: tanlccc, 2012-02-03

2 answers

Talvez precises de especificar o fecho?

Fazes isto com uma configuração como esta:

-Djava.class.path={JDK_HOME}\lib\tools.jar;<your jar 1>;<your jar 2>

Como exemplo, usamos um script para instalar o JBoss, semelhante ao discutido/mostrado aqui: https://community.jboss.org/wiki/JavaService

HTH

 1
Author: davidfrancis, 2012-02-03 10:16:43

Primeiro, Se utilizar um JVM de 64 bits, deve utilizar um JavaService de 64 bits. Caso contrário, obterá o seguinte erro nos registos de Eventos do Windows:

A função Loadlibrária falhou pela seguinte razão: o LoadLibrary não é uma aplicação Win32 válida.

Second, use -out and -err parameters of JavaService to log stdout and stderr from your java code.

 0
Author: Dzwiedziu-nkg, 2016-08-31 22:08:46