O Liberty Service criado por Prunsrv.exe para automaticamente no Windows Server 2019

O Liberty Service criado por Prunsrv.exe para automaticamente no Windows Server 2019

Criei um servidor no Websphere Liberty no Windows Server 2019 e registrei um serviço para ele também. Quando inicio o serviço, o status muda paraCorrendo, mas após alguns segundos o status desaparece (ou seja, o serviço é interrompido). No entanto, o servidor vinculado ao serviço está, na verdade, sendo executado em segundo plano.

O Liberty Server funciona conforme o esperado e pode ser interrompido através da linha de comando sem nenhum problema, o único problema é que o status do serviço é mostrado incorretamente em services.msc. Isso me leva a acreditar que o wrapper de serviço fornecido com o Liberty (Prunsrv.exe) não é compatível com o Windows Server 2019, pois não enfrentei esse problema no Windows Server 2008/2012/2106.

Há algo específico que precisa ser feito para que funcione no Windows Server 2019? Quaisquer sugestões/pontos serão muito apreciados.

Obrigado, Ronan

Responder1

Eu experimentei o mesmo problema. Tentei diferentes wrappers de serviço, NSSM e WinSW. Após algumas tentativas e erros, percebi que o serviço parava de funcionar no meu sistema após aproximadamente 39 segundos. Executei o mesmo comando, server.bat start yourServer, na janela de comando. Percebi que o tempo desde o início até o momento em que o arquivo em lote é concluído e retorna ao prompt de comando foi de cerca de 39 segundos.

Logs do WinSW no visualizador de eventos. Verifiquei as mensagens e percebi que o WinSW registrou que o processo foi concluído com êxito com um código de saída 0.

Então mudei a forma como o servidor é iniciado e executado. Alterei o comando de server.bat start yourServer para server.bat run yourServer. Isso funcionou. Agora posso iniciar e parar o servidor.

No meu caso, estou usando WinSW. Um arquivo XML deve ser configurado para WinSW. Usei server.bat com argumentos iniciais para run e yourServer para iniciar o serviço. Usei argumentos stop de stop e yourServer para interromper o serviço.

A documentação do WinSW é boa para você começar.

Não sei sua situação exata, por isso não posso fornecer exemplos usando sua configuração.

informação relacionada