Якщо ви використовуєте Gradle Build Tool, ви можете спробувати мій плагін Windows-service , який полегшує використання Apache Commons Daemon Procrun .
Щоб створити службовий додаток java windows з плагіном, вам потрібно пройти кілька простих кроків.
Створіть основний клас обслуговування відповідним методом.
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
}
}
}
Включіть плагін у свій build.gradle
файл.
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"
Той самий фрагмент сценарію для нового, інкубаційного, плагін-механізму, введеного в Gradle 2.1:
plugins {
id "com.github.alexeylisyutenko.windows-service-plugin" version "1.1.0"
}
Налаштуйте плагін.
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'
}
Запустіть createWindowsService gradle завдання, щоб створити розподіл служб Windows.
Це все, що потрібно зробити, щоб створити простий сервіс Windows. Плагін автоматично завантажить бінарні файли Apache Commons Daemon Procrun, витягне ці файли в каталог розповсюдження служб і створить пакетні файли для встановлення / видалення служби.
У ${project.buildDir}/windows-service
каталозі ви знайдете виконувані файли сервісу, пакетні сценарії для встановлення / видалення служби та всіх бібліотек часу виконання. Щоб встановити службовий запуск <project-name>-install.bat
і якщо ви хочете видалити службовий запуск <project-name>-uninstall.bat
. Щоб запустити та зупинити службу, використовуйте <project-name>w.exe
виконуваний файл.
Зауважте, що запуск служби обробки методів повинен створити та запустити окремий потік для проведення обробки, а потім повернути. Основний метод викликається з різних потоків під час запуску та припинення послуги.
Для отримання додаткової інформації, будь ласка, прочитайте про плагін та Apache Commons Daemon Procrun.