Se você usa a Gradle Build Tool, pode experimentar o meu windows-service-plugin , que facilita o uso do Apache Commons Daemon Procrun .
Para criar um aplicativo de serviço java windows com o plug-in, é necessário seguir várias etapas simples.
Crie uma classe de serviço principal com o método apropriado.
public class MyService {
public static void main(String[] args) {
String command = "start";
if (args.length > 0) {
command = args[0];
}
if ("start".equals(command)) {
// process service start function
} else {
// process service stop function
}
}
}
Inclua o plug-in no seu build.gradle
arquivo.
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "gradle.plugin.com.github.alexeylisyutenko:windows-service-plugin:1.1.0"
}
}
apply plugin: "com.github.alexeylisyutenko.windows-service-plugin"
O mesmo snippet de script para o novo mecanismo de plug-in incubado, introduzido no Gradle 2.1:
plugins {
id "com.github.alexeylisyutenko.windows-service-plugin" version "1.1.0"
}
Configure o plugin.
windowsService {
architecture = 'amd64'
displayName = 'TestService'
description = 'Service generated with using gradle plugin'
startClass = 'MyService'
startMethod = 'main'
startParams = 'start'
stopClass = 'MyService'
stopMethod = 'main'
stopParams = 'stop'
startup = 'auto'
}
Execute a tarefa de classificação createWindowsService para criar uma distribuição de serviço do Windows.
É tudo o que você precisa fazer para criar um serviço simples do Windows. O plug-in baixará automaticamente os binários do Apache Commons Daemon Procrun, extrairá esses binários para o diretório de distribuição de serviços e criará arquivos em lote para instalação / desinstalação do serviço.
No ${project.buildDir}/windows-service
diretório, você encontrará executáveis de serviço, scripts em lote para instalação / desinstalação do serviço e todas as bibliotecas de tempo de execução. Para instalar o serviço, execute <project-name>-install.bat
e se você deseja desinstalar o serviço <project-name>-uninstall.bat
. Para iniciar e parar o serviço, use <project-name>w.exe
executável.
Observe que o início do serviço de manipulação de métodos deve criar e iniciar um encadeamento separado para executar o processamento e, em seguida, retornar. O método principal é chamado de diferentes segmentos quando você inicia e para o serviço.
Para obter mais informações, leia sobre o plugin e o Apache Commons Daemon Procrun.