2013-03-10 7 views
9

क्या जोडाटाइम में कोई तारीख बनाना संभव है और फिर क्वार्ट्ज को जॉडाटाइम ऑब्जेक्ट का उपयोग करके नौकरी निर्धारित करना संभव है? क्या हम एक दिन में किसी विशेष अवधि के लिए कार्य चलाने के लिए क्वार्ट्ज एपीआई को अवधि अवधि पॉडा दे सकते हैं?क्वार्ट्ज एपीआई और जोडा टाइम एपीआई के बीच कोई संबंध?

क्या दो एपीआई संबंधित हैं और/या किसी भी तरह से संगत हैं?

+0

क्या आप जोडा समय अवधि द्वारा निर्दिष्ट अंतराल पर दोहराने के लिए नौकरी निर्धारित करना चाहते हैं? – darrenmc

+0

@ डारनएमसी - न सिर्फ उस मामले का उपयोग करें। मैं क्वार्ट्ज कर सकते हैं सब कुछ करने में सक्षम होना चाहता हूँ, लेकिन अधिमानतः जोडा का उपयोग कर। –

उत्तर

2

एक्सोनफ्रेमवर्क में QuartzEventScheduler है जो ऐसा लगता है कि आप जो चाहते हैं वह करता है।

यहां downlaod page है और यह अपाचे 2.0 लाइसेंस के तहत है।

+0

सीक्यूआरएस (एक्सोन एक सीक्यूआरएस ढांचा है) कमांड क्वेरी जिम्मेदारी पृथक्करण है - http://martinfowler.com/bliki/CQRS.html –

+0

एडीडी- क्या आप मुझे इस तरह के कुछ और उदाहरण दे सकते हैं? ऐसा लगता है कि यह ढांचा क्वार्ट्ज और जोडा का केवल एक छोटा सा हिस्सा उपयोग करता है। एक निश्चित जोडा अवधि या अवधि के बाद बार-बार कार्य करने के लिए कोई समर्थन नहीं होता है। मैं दोनों के बीच अधिक एकीकरण की तलाश में था। –

2

क्वार्ट्ज एक बहुत ही व्यापक एपीआई प्रदान करता है जिसे आप वैसे भी विस्तारित कर सकते हैं।
जिस हुक को आपको बनाना होगा, वह Trigger इंटरफ़ेस के विरुद्ध होगा, मैंने पहले एक बनाया है लेकिन जोडा समय का उपयोग नहीं किया है।

अपने प्रश्न की आवाज़ से यदि आप एक ऐसी नौकरी बनाना चाहते हैं जो दिन की किसी विशेष अवधि के लिए चलती है तो आप CronTrigger का उपयोग करने का प्रयास कर सकते हैं। उदाहरण 9:00 और 11 के बीच हर मिनट चलाने के लिए आप

* 9-10 * * * 

कर सकता है जाहिर है Joda यह बहुत कॉन्फ़िगर करने के लिए आसान बना देता है, लेकिन अपने sysadmins आप क्रॉन के लिए और अधिक सम्मान ...

2

मैं Joda उपयोग करने के लिए शुरू कर दिया है मेरी कंपनी के ऐप के नए हिस्सों में समय और मुझे जोडा टाइम ऑब्जेक्ट को java.util में परिवर्तित करके विरासत भागों (क्वार्ट्ज शेड्यूलिंग समेत) से लिंक करना आसान हो गया है। दिनांक जो पुराने हिस्से अभी भी उम्मीद कर रहे हैं। आशा है कि ये आपकी मदद करेगा।

+0

हाँ, लेकिन यह मैनुअल है। लेकिन, मैं तारीख से बचना चाहता हूं क्योंकि इसमें से अधिकांश को बहिष्कृत किया गया है और इसकी संभावना है कि जोडा वर्तमान समय प्रणाली को प्रतिस्थापित करेगा। –

+1

जेएसआर -310 (थ्रीटिन) https://github.com/ThreeTen/threeten जावा 8 में जोडा के बजाए तिथि बढ़ाएगा। उनके पास समानताएं हैं, लेकिन जोदा पर थ्रीटिन में भी कई सुधार हैं। उदाहरण के लिए – Jim

2

TriggerBuilder कैसे हाथ से एक नौकरी का समय निर्धारित करने का एक टुकड़ा है:

JobDetail job = newJob(MyJob.class) 
     .withIdentity("myJob") 
     .build(); 

Trigger trigger = newTrigger() 
     .withIdentity(triggerKey("myTrigger", "myTriggerGroup")) 
     .withSchedule(simpleSchedule() 
      .withIntervalInHours(1) 
      .repeatForever()) 
     .startAt(futureDate(10, MINUTES)) 
     .build(); 

scheduler.scheduleJob(job, trigger); 

आप startAt (के लिए कुछ रूपांतरण काम करना होगा) और withIntervalInHours() ... आप बहाव मिल

+0

+1। मेरी इच्छा है कि क्वार्ट कुछ निर्मित जोडा समर्थन में कुछ जोड़ता है। अन्यथा मुझे मैन्युअल रूप से सभी रूपांतरण और फ़ील्ड निष्कर्षण करना होगा। –

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