2015-10-31 9 views
6

यह में बताया गया है Spring documentation कि:स्प्रिंग ThreadPoolTaskScheduler बनाम ThreadPoolTaskExecutor

ThreadPoolTaskScheduler वास्तव में के रूप में अच्छी तरह से वसंत के TaskExecutor इंटरफ़ेस लागू करता है, तो यह है कि एक उदाहरण के रूप में भी अनुसूचित अतुल्यकालिक निष्पादन के लिए इस्तेमाल किया जा सकता जितनी जल्दी हो सके, और संभावित आवर्ती, निष्पादन।

तो ऐसे परिदृश्य हैं जहां हम उदाहरण ThreadPoolTaskScheduler उदाहरण से अधिक उदाहरण का उपयोग करना चाहते हैं?

मैं वर्तमान में स्प्रिंग एक्सएमएल का उपयोग कर उपयोग कर रहा हूं। मैं ThreadPoolTaskScheduler की सेम बनाने रहा हूँ इस प्रकार है: के रूप में

<task:executor id="executor" pool-size="10"/> 

उत्तर

7
  • ThreadPoolTaskExecutor कार्यों के क्रियान्वयन की एक विशेष वर्ग है

    <task:scheduler id="myScheduler" pool-size="1"/> 
    

    जबकि ThreadPoolTaskExecutor उदाहरण के सेम बनाया जा सकता है।

  • ThreadPoolTaskScheduler शेड्यूलिंग कार्यों के लिए एक विशेष कक्षा है।

वाक्य आप स्प्रिंग दस्तावेज में उद्धृत केवल कह रहा है कि आप कार्य निष्पादित करने के लिए एक अनुसूचक उपयोग कर सकते हैं, लेकिन यह इसका मुख्य उद्देश्य नहीं है। ThreadPoolTaskExecutor थ्रेड पूल पर corePoolSize, maxPoolSize, keepAliveSeconds और queueCapacity गुणों के माध्यम से थ्रेड पूल पर ठीक-ठीक कॉन्फ़िगरेशन प्रदान करता है। एक शेड्यूलर जैसे ThreadPoolTaskScheduler ऐसी कॉन्फ़िगरेशन प्रदान नहीं करता है।

इस प्रकार, दोनों के बीच चयन निम्नलिखित प्रश्न नीचे आता है: क्या मुझे कार्यों को निष्पादित करने या अनुसूची करने की आवश्यकता है?

+0

धन्यवाद, यह वास्तव में मुझे निष्पादक और शेड्यूलर के बीच समझने के लिए altos की मदद करता है। –

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