मेरे प्रोग्राम में एक घटक है - शेड्यूलर डब किया गया है - जो अन्य घटकों को उन बिंदुओं पर रजिस्टर करने देता है, जिन पर वे वापस कॉल करना चाहते हैं। यह यूनिक्स क्रॉन सेवा की तरह काम करना चाहिए, i। ई। आप शेड्यूलर को बताते हैं "मुझे हर पूर्ण घंटे में दस मिनट में सूचित करें"।जावा लाइब्रेरी क्लास "कॉलबैक" के निर्धारित निष्पादन को संभालने के लिए?
मुझे एहसास है कि जावा में कोई वास्तविक कॉलबैक नहीं है।
यहां मेरा दृष्टिकोण है, क्या कोई पुस्तकालय है जो पहले से ही यह सामान करता है? सुधार भी सुझाव देने के लिए स्वतंत्र महसूस करें। समयबद्धक को
रजिस्टर कॉल गुजरता है:
- युक्त घंटा, मिनट, दूसरा, साल महीने, डोम, डो, जहां प्रत्येक आइटम अनिर्दिष्ट हो सकता है एक समय विनिर्देश, जिसका अर्थ है 'आदि यह हर घंटे/मिनट पर अमल " (जैसे crontabs की तरह)
- डेटा युक्त एक ऑब्जेक्ट जो कॉलिंग ऑब्जेक्ट को बताएगा कि शेड्यूलर द्वारा अधिसूचित किए जाने पर क्या करना है। शेड्यूलर इस डेटा को संसाधित नहीं करता है, बस इसे स्टोर करता है और उसे अधिसूचना पर वापस भेज देता है।
- बुला वस्तु
स्टार्टअप पर के लिए एक संदर्भ, या एक नया पंजीकरण अनुरोध के बाद, समयबद्धक मौजूदा सिस्टम का समय और चेकों के एक कैलेंडर वस्तु के साथ शुरू होता है, तो वहाँ डेटाबेस में कोई भी प्रविष्टि है कि इस मेल खाते हैं कोई निश्चित समय। यदि वहां हैं, तो उन्हें निष्पादित किया जाता है और प्रक्रिया शुरू हो जाती है। यदि नहीं हैं, तो कैलेंडर ऑब्जेक्ट में समय एक सेकंड से बढ़ता है और एंटरिस को फिर से जांच लिया जाता है। यह तब तक दोहराता है जब तक एक प्रविष्टि या अधिक मिलान नहीं होता है (एस)। (असतत इवेंट सिमुलेशन)
शेड्यूलर फिर उस टाइमस्टैम्प को याद रखेगा, सोएगा और यह जांचने के लिए हर सेकेंड जाग जाएगा कि यह पहले से मौजूद है या नहीं। यदि जागने के लिए होता है और समय बीत चुका है, तो यह शुरू होता है, वैसे ही अगर समय आ गया है और नौकरियां निष्पादित की गई हैं।
संपादित: मुझे क्वार्ट्ज की ओर इशारा करते के लिए धन्यवाद। हालांकि, मैं कुछ बहुत छोटा खोज रहा हूं।
हाँ, लेकिन मुझे अतिरिक्त निर्भरताओं के बिना कुछ वास्तव में सरल की आवश्यकता थी। मुझे वैसे भी मेरे ऐप में दृढ़ता से संभाला गया है, शेड्यूलर को इसकी आवश्यकता नहीं है। मुझे अपनी सूची में क्वार्ट्ज मिला है, हालांकि मुझे बाद में और अधिक शक्ति की आवश्यकता होनी चाहिए। –
सबसे हालिया रिलीज में, अब आप डेटाबेस के अलावा टेराकोटा के साथ क्वार्ट्ज नौकरियां क्लस्टर कर सकते हैं। –
यह मजाकिया है कि क्वार्ट्ज दृढ़ता सुविधाओं को एक बड़े लाभ के रूप में बताया जाता है: कई/ज्यादातर मामलों में वे केवल एक बड़ी पिटा हैं। – StaxMan