2010-08-16 12 views
6

मैं निम्नलिखित विशेषताएं पेशकश एक WorkQueue एपीआई रहा हूँ:क्या कोई परिष्कृत जावा वर्क क्यूई एपीआई है?

  • java.util.Queue संगत
  • प्रदान करता है (वैकल्पिक) सेट अर्थ
  • एकल और बैच प्रसंस्करण
  • (बेशक)
  • संगामिति
  • शेड्यूलिंग
  • विभिन्न प्रसंस्करण नीतियों
    • अगले शेड्यूल निष्पादन
    • पूर्व प्रक्रिया, बैच का आकार (, कतार में कम से कम समय कार्रवाई की जा रही करने से पहले)
    • देरी प्रसंस्करण से मुलाकात की है, तो
  • हठ (वैकल्पिक)

वहाँ तक इंतजार जेडीके में बहुत दिलचस्प कार्यान्वयन हैं, उदाहरण के लिए java.util.DelayQueue जो मैं उपयोग कर सकता था। मैं बस यह सुनिश्चित करना चाहता था कि मैं पहिया को पुनर्निर्मित नहीं कर रहा हूं।

उत्तर

2

क्या आप अभी भी स्वीकार करने का उत्तर ढूंढ रहे हैं?

मुझे लगता है कि java.util.concurrent के निष्पादक ढांचे का उपयोग करके आपकी ज़रूरतों को पूरा किया जाएगा। एपीआई देखें (here's a good start)। एक उत्कृष्ट समर्थन समुदाय है, आप इसे concurrency-interest web site पर पा सकते हैं। यदि आप मृत पेड़ों में हैं, Java Concurrency in Practice (JCiP) एक उत्कृष्ट संसाधन प्रदान करता है।

निष्पादक ढांचा आपको कार्यों (रननेबल्स या कॉलबेल के रूप में) बनाने की अनुमति देता है, सिंक्रनाइज़ करने या अन्यथा एक दूसरे के संबंध में कार्यों को ऑर्डर करने के लिए कई योजनाएं प्रदान करता है।

अंत में, उभरते फोर्कजोइन (एफजे) आधारभूत संरचना काफी उपयोगी है और आपकी आवश्यकताओं से मेल खा सकती है। एपीआई here, good paper is here, और introductory article here है।

उम्मीद है कि इससे मदद मिलती है।

जेए

3

Quartz Job Scheduler API

पर एक नज़र डालें क्वार्ट्ज सुविधाएँ: http://www.quartz-scheduler.org/overview/features.html

मैं अपने java.util.Queue संगतता के बारे में निश्चित नहीं हूँ। लेकिन यह जॉब शेड्यूलिंग और निष्पादन से संबंधित अधिकांश सुविधाएं प्रदान करता है।

+1

क्वार्ट्ज देरी वाले कार्यों को शेड्यूल करने के लिए है, यही वह नहीं है जिसे मैं ढूंढ रहा था।शेड्यूलिंग और देरी की मुझे आवश्यकता होने के बारे में, मैं निश्चित रूप से जावा के 'अनुसूचित एक्सेलरेटर' के साथ रहूंगा जो क्वार्ट्ज की तुलना में बेहतर एपीआई प्रदान करता है। – whiskeysierra

0

हालांकि इसमें कोई शेड्यूलिंग कार्यक्षमता नहीं है, लेकिन जेडीके में java.util.concurrent.SynchronousQueue है जो उपयोगी हो सकता है।

1

संक्षिप्त और सीधा जवाब - नहीं। आपको अपना खुद का रोल करना होगा या आप किसी और के प्रयोगों के लिए एक मुफ्त परीक्षक के रूप में काम करने जा रहे हैं। तो कम से कम आप अपनी आवश्यकताओं के लिए बिल्कुल एक प्रणाली बनाने, सभी कोर भागों को जानने और बड़ी और अज्ञात निर्भरता लेने के बजाय पूर्ण नियंत्रण में रहने में समय व्यतीत करेंगे।

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