मेरे वेबपैप में, मैंने एक सेवा बनाई है जो ExecutorService
का उपयोग निश्चित आकार थ्रेडपूल के साथ कर रहा है। मैं पूरे आवेदन जीवनकाल के दौरान उसी ExecutorService
का पुन: उपयोग करता हूं।वेबपैप में शटडाउन एक्जिक्यूटर्स सेवा गर्व से?
private static ExecutorService pool = Executors.newFixedThreadPool(8);
सभी जबकि नीचे shuting जो मुझे निम्न त्रुटि देता है बिलाव में चल रहा है:
appears to have started a thread named [pool-1-thread-1] but has failed to stop it. This is very likely to create a memory leak.
मुझे पता है मैं बिल्ला नीचे shuting से पहले बंद ExecutorService करने की आवश्यकता है। सोम्स एसओ थ्रेड पहले से ही इस बारे में बात करता है लेकिन मुझे इसे संभालने का एक साफ तरीका नहीं मिला।
क्या मुझे Graceful shutdown of threads and executor में टिम-बेंडर के सुझाव के रूप में ShutdownHook
का उपयोग करना चाहिए? या मैं इसके बजाय एक कैशड थ्रेडपूल का उपयोग करना चाहिए?
सटीक रूप से मुझे –