2013-08-08 7 views
5

मैं एक मौजूदा आवेदन जो कोडमेरे मामले में ThreadPoolTaskExecutor या SimpleAsyncTaskExecutor को चुनना क्या है?

<bean id="taskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor"> 
     <property name="corePoolSize" value="50" /> 
     <property name="maxPoolSize" value="200" /> 
     <property name="queueCapacity" value="250" /> 
    </bean> 

हम एक विधि है, जो एक particuar कार्य को पूरा करने के ऊपर taskExecutor उपयोग कर रहा है है के इस टुकड़े मिल गया है पर काम कर रहा हूँ। (यह कार्य पूरा हो जाना चाहिए, लेकिन इसे असीमित रूप से पूरा किया जा सकता है)

यह विशेष कार्य वास्तव में डेटाबेस में 100 दस्तावेज़ डालने के लिए ज़िम्मेदार है।

तो मैं ThreadPoolTaskExecutor के बजाय SimpleAsyncTaskExecutor का उपयोग करने की योजना बना रहा था।

कृपया मुझे बताएं कि इस प्रदर्शन को प्रभावित या किसी भी मुद्दे बनाने

हमारे आवेदन एक बहु-क्रम से एक है, और वहाँ किसी भी समय aprox 700 उपयोगकर्ताओं हो जाएगा होगा।

तो मुझे नहीं पता है कि यह कैसे उत्पादन वातावरण के तहत बर्ताव करता है जहाँ तक मुझे पता के रूप में SimpleAsyncTaskExecutor के उपयोग मामलों में मतलब होता है, यदि आप कुछ लंबे समय निष्पादित करने के लिए चाहते हैं (जो विकास के दौरान ठीक हो सकता है)

उत्तर

0

- कार्यों को छेड़छाड़ करना, उदाहरण के लिए यदि आप एक दिन के अंत में लॉग फ़ाइलों को संपीड़ित करना चाहते हैं। अन्य मामलों में, यदि आप प्रत्येक एन सेकंड या मिनटों में शॉर्ट-टाइम-एक्जिक्यूटिंग कार्य निष्पादित करना चाहते हैं, तो आपको सिस्टम संसाधनों का पुन: उपयोग करने के कारण थ्रेडपूल टास्क एक्स्सेलर का उपयोग करना चाहिए।

तकनीकी रूप से दोनों प्रकार काम करेंगे। लेकिन मैं आपके कार्य के लिए ThreadPoolTaskExecutor का उपयोग करूंगा।

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