यदि आप ग्रेडल बिल्ड टूल का उपयोग करते हैं, तो आप मेरी विंडोज़-सेवा-प्लगइन की कोशिश कर सकते हैं , जो अपाचे कॉमन्स डेमन प्रॉक्रुन का उपयोग करने की सुविधा देता है ।
प्लगइन के साथ एक जावा विंडोज सर्विस एप्लिकेशन बनाने के लिए आपको कई सरल चरणों से गुजरना होगा।
उचित विधि के साथ एक मुख्य सेवा वर्ग बनाएं।
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"
ग्रैडल 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'
}
Windows सेवा वितरण बनाने के लिए createWindowsService gradle कार्य चलाएँ ।
एक साधारण विंडोज़ सेवा बनाने के लिए आपको बस इतना ही करना है। प्लगइन स्वचालित रूप से Apache Commons Daemon Procrun बायनेरिज़ को डाउनलोड करेगा, इस बायनेरिज़ को सेवा वितरण निर्देशिका में निकालेगा और सेवा की स्थापना / स्थापना रद्द करने के लिए बैच फ़ाइलों को बनाएगा।
में ${project.buildDir}/windows-service
निर्देशिका आप सेवा की स्थापना / स्थापना रद्द करने और सभी क्रम पुस्तकालयों के लिए सेवा निष्पादनयोग्य, बैच स्क्रिप्ट मिल जाएगा। सेवा चलाने को स्थापित करने के लिए <project-name>-install.bat
और यदि आप सेवा चलाने की स्थापना रद्द करना चाहते हैं <project-name>-uninstall.bat
। <project-name>w.exe
निष्पादन योग्य सेवा का उपयोग शुरू और बंद करने के लिए ।
ध्यान दें कि विधि हैंडलिंग सेवा शुरू होनी चाहिए और प्रसंस्करण शुरू करने के लिए एक अलग धागा शुरू करना चाहिए, और फिर वापस लौटना चाहिए। जब आप सेवा शुरू करते हैं और रोकते हैं तो मुख्य विधि को विभिन्न थ्रेड्स से बुलाया जाता है।
अधिक जानकारी के लिए, कृपया प्लगइन और Apache Commons Daemon Procrun के बारे में पढ़ें।