2008-08-25 17 views
19

मैं जावा एप्लिकेशन को * NIX डिमन या विंडोज सेवा के रूप में चलाने के लिए सबसे अच्छी विधि ढूंढ रहा हूं। मैंने Java Service Wrapper, Apache Commons project 'jsvc', और Apache Commons project 'procrun' पर देखा है। अब तक, जावा सर्विस रैपर ऐसा लगता है कि यह सबसे अच्छा विकल्प है ... लेकिन, मैं सोच रहा हूं कि वहां कोई अन्य "ओपन सोर्स फ्रेंडली" लाइसेंस प्राप्त उत्पाद है या नहीं।जावा अनुप्रयोग को * निक्स डेमॉन या विंडोज सेवा के रूप में चलाने का सर्वोत्तम तरीका?

+0

विंडोज सेवाओं के लिए, यह प्रश्न देखें: http://stackoverflow.com/questions/68113/how-to-create-a-windows-service-from-java-app/3626452#3626452 (Google के रूप में यह टिप्पणी जोड़ना मुझे यहाँ लाया, लेकिन दूसरे प्रश्न में और जवाब हैं)। – atomicules

उत्तर

17

मुझे जावा सेवा रैपर के साथ बहुत सफलता मिली है। मैं दूसरों को देखा नहीं है, लेकिन ServiceWrapper के प्रमुख ताकत हैं:

  • ग्रेट एक्स मंच का समर्थन - मैं Windows और Linux पर यह प्रयोग किया है, और यह दोनों
  • ठोस प्रलेखन पर आसान पाया - दस्तावेज स्पष्ट और बिंदु के साथ हैं, महान उदाहरण
  • दीप प्रति-प्लेटफ़ॉर्म समर्थन - विंडो सेवा प्रबंधन प्रणाली में कुछ अनूठी विशेषताएं हैं जो पूरी तरह से सेवा wrapper (w/o पुनरारंभ) द्वारा समर्थित हैं। और विंडोज़ पर, आप केवल "java.exe" की बजाय प्रक्रिया सूची में अपना ऐप नाम भी देखेंगे।
  • मानक अनुपालन - कई विज्ञापन-प्रसार जावा इनिट स्क्रिप्ट के विपरीत, सेवा रैपर के लिए स्क्रिप्ट एलएसबी मानकों के अनुरूप हैं। यदि आप कभी भी लिनक्स हार्टबीट/एचए जैसे कुछ से उच्च उपलब्धता प्रबंधन चाहते हैं तो यह बहुत महत्वपूर्ण हो सकता है।

वैसे भी, सिर्फ मेरी 2 सेंट ... :)

+1

इस अत्यधिक पर्याप्त सिफारिश नहीं कर सकता है –

1

क्या कोई विशेष विशेषता है जिसे आपको आवेदन करने की आवश्यकता है (जैसे ओएस निर्देशित संसाधन प्रबंधन) जिसे आपको समर्थन देने की आवश्यकता है? अन्यथा, यूनिक्स के लिए आप एक उपयुक्त init.d स्क्रिप्ट लिखकर और अपने ऐप को स्वचालित रूप से प्रारंभ करने के लिए अपने एप्लिकेशन को डिमननाइज़ करने में सक्षम होना चाहिए।

3

एक अन्य विकल्प WinRun4J है। यह केवल खिड़कियां है, लेकिन कुछ उपयोगी सुविधाओं की है:

  • 32 बिट और 64 बिट समर्थन ईवेंट लॉग का उपयोग और रजिस्ट्री
  • सेवा पंजीकृत कर सकता हूँ अन्य सेवाओं पर निर्भर होना करने के लिए
  • एपीआई (यानी serviceà और serviceB सेवा सी से पहले स्टार्टअप होना चाहिए)

इसका ओपन सोर्स फ्रेंडली (सीपीएल) भी उपयोग पर कोई प्रतिबंध नहीं है।

(पूर्ण प्रकटीकरण: मैं इस परियोजना पर काम करता हूं)।

संबंधित मुद्दे