के साथ तत्काल एक बार कार्य मैं क्लस्टर थ्रेडपूल बनाने के लिए Quartz का उपयोग कर रहा हूं और मेरे पास कई बार चलने वाले कार्यों की संख्या है। क्लस्टर थ्रेडपूल पर केवल एक बार चलाने के लिए और केवल एक बार चलाने का सबसे अच्छा तरीका क्या है। मुझे पता है कि मैं कार्य को उच्च प्राथमिकता में सेट कर सकता हूं। लेकिन "एक शॉट" कार्य पंजीकृत करने का सबसे अच्छा तरीका क्या है?क्वार्ट्ज
6
A
उत्तर
4
मुझे लगता है कि मैं कुछ याद आ रही किया जाना चाहिए, या शायद तुम सिर्फ डॉक्स में इस बिट की अनदेखी:
public SimpleTrigger(String name, String group, Date startTime, Date endTime, int repeatCount, long repeatInterval)
SimpleTrigger trigger = new SimpleTrigger("myTrigger",
null,
new Date(),
null,
0,
0L);
11
तुम भी जीवन एक बनाने के लिए TriggerBuilder वर्ग का उपयोग कर सकते थोड़ा आसान यह पहले से पोस्ट किया गया था, बस थोड़ा क्लीनर के समान है।
Trigger trigger = TriggerBuilder.newTrigger()
.startNow()
.build();
2
एक पूर्व-पंजीकृत नौकरी के लिए एक एक शॉट को गति प्रदान करने का सबसे आसान तरीका:
Scheduler sched = ...
scheduler.triggerJob(jobKey);
repeatInterval शून्य नहीं हो सकते या SimpleTrigger सत्यापन के दौरान एक org.quartz.SchedulerException फेंक देते हैं। – Aidamina
यह क्वार्ट्ज 2.2.1 के लिए काम नहीं करता है। मुझे एक त्रुटि मिल रही है जो सरल ट्रिगर – AD14
को तत्काल नहीं कर सकता है क्वार्ट्ज ~ 1.6 के साथ काम करेगा लेकिन ~ 2.1 –