2013-05-16 8 views
6

मुझे सर्वर के तत्काल शटडाउन को रोकने के लिए यूपीएस का उपयोग करने के महत्व को पता है। मैं जावा एप्लिकेशन में ऐसी घटना को कैसे सुनूं?बिजली के नुकसान पर शट डाउन एप्लिकेशन

कहें कि मेरा यूपीएस बिजली बंद होने पर 5 मिनट के लिए पूर्ण लोड के तहत चलना जारी रखेगा। वे सर्वर जारी रहेगा लेकिन मेरे आवेदन को कैसे पता चलेगा कि चीजों को ठीक से बंद करना शुरू करने का समय?

यह विशेष ऐप ज्यादातर क्लाइंट के साथ डेटाबेस लेनदेन से संबंधित है। मैं अधिकतर माइस्क्ल लेनदेन के मध्य में सर्वर खोने वाले सर्वर के मामले में भ्रष्ट डेटा से चिंतित हूं। क्या बिजली की स्थिति को संभालने के उचित तरीके से नीचे दिए गए अंक हैं?

  • पावर बाहर निकलता है। यूपीएस बैटरी मोड। ऐप इसका पता लगाता है।
  • एप्लिकेशन किसी भी तरह से आने वाले अनुरोधों को अवरुद्ध करता है (ऐसा करने पर कोई सुझाव उपयोगी होगा)
  • कुछ ही मिनटों में प्रक्रिया में होने वाले सभी लेनदेन पूर्ण होने चाहिए।
  • शट डाउन एप्लिकेशन
  • यदि बैटरी समाप्त हो जाती है, सर्वर नीचे चला जाता है ... पुनर्स्थापित करने के लिए प्रतीक्षा करें।

क्या बिजली पुन: प्रारंभ करने पर सर्वर और एप्लिकेशन को स्वचालित रूप से पुनरारंभ करने का कोई तरीका है या इसे मैन्युअल रूप से किया जाना चाहिए?

+0

कौन सा ओएस एप्लिकेशन चल रहा है? – andrewmu

+0

उबंटू सर्वर। उसमें उल्लेख किया जाना चाहिए था। – ryandlf

उत्तर

3

यूपीएस के साथ काम करना शायद एसएनएमपी या सिस्टम स्क्रिप्ट जैसे पर्यवेक्षण उपकरण के साथ ओएस स्तर पर संभाला जा सकता है।

मैं आपको ऑनलाइन देखता हूं, आपको शायद यूपीएस से पावर विफलता ईवेंट प्राप्त करते समय कुछ कार्रवाइयों को निष्पादित करने के लिए कई स्क्रिप्ट मिल जाएंगी।

आप एक QUIT संकेत (यूनिक्स/लिनक्स पर) अपने JVM पीआईडी ​​को भेजने के लिए और JVM तरफ आप Runtime.addShutdownHook

हैं, तो यह है स्प्रिंग की तरह एक रूपरेखा का उपयोग कर निश्चित रूप से पहले से ही दर्ज की विधि के साथ बंद हुक रजिस्टर कर सकते हैं कुछ और कॉन्फ़िगर किए जाने पर आपके सेम के विनाश विधियों को बुलाएगा।

+0

यह अन्य उल्लिखित समाधान (सॉकेट पर सुनना) की तुलना में थोड़ा क्लीनर लगता है। सच? इस तरह से किसी भी तरह से लाभ? – ryandlf

+0

सॉकेट को सुनकर और यूपीएस को सॉकेट को सिग्नल भेजकर, आपके सिस्टम को पहले चेतावनी मिल सकती है। ओएस के अंतर्निर्मित तंत्र का उपयोग करके यह हो सकता है कि ओएस जेवीएम को सिग्नल भेजने से पहले कुछ अन्य सामान कर रहा हो। लेकिन इसका मतलब यह नहीं है कि एक विकल्प दूसरे की तुलना में बेहतर है। यदि किसी सॉकेट के माध्यम से प्रारंभिक अधिसूचना की आवश्यकता होती है और लागू किया जाता है, तो आवेदन को भी JVM के शटडाउन पर प्रतिक्रिया देना चाहिए क्योंकि शट डाउन के अन्य कारण भी हो सकते हैं। – mschenk74

1

जावा एप्लिकेशन में लोकहोस्ट से परिभाषित बंदरगाह पर सुनने के लिए जावा सॉकेट बनाएं और बिजली खोने पर इस पोर्ट को ईवेंट भेजने के लिए यूपीएस सॉफ़्टवेयर कॉन्फ़िगर करें।

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