पर सबमिट किए गए एक रननेबल को रोकें मैंने अपने जावा ऐप में सदस्यता लागू की है। जब नए ग्राहक जोड़े, आवेदन नया कार्य (कक्षा जो Runnable
लागू करता है अलग थ्रेड में चलाने के लिए) है और यह ExecutorService
तरह से जोड़ा जाता है बनाता है:निष्पादक सेवा
public void Subscribe()
{
es_.execute(new Subscriber(this, queueName, handler));
}
//...
private ExecutorService es_;
आवेदन पंजीकृत कर सकते हैं के रूप में कई ग्राहकों के रूप में आप चाहते हैं। अब मैं Unsubscribe
जैसे कुछ कार्यान्वित करना चाहता हूं ताकि प्रत्येक ग्राहक के पास संदेश प्रवाह को रोकने की क्षमता हो। यहां मुझे ExecutorService
में चल रहे कार्यों में से किसी एक को रोकने के लिए एक तरीका चाहिए। लेकिन मुझे नहीं पता कि मैं यह कैसे कर सकता हूं।
ExecutorService.shutdown()
और इसकी विविधताएं मेरे लिए नहीं हैं: वे सभी कार्यों को समाप्त कर देते हैं, मैं बस उनमें से एक को समाप्त करना चाहता हूं। मैं एक समाधान की तलाश में हूं। यथासंभव सरल। धन्यवाद।
यह होगा उपयोगी उदाहरण जोड़ने के लिए आप अपना उत्तर संपादित करते हैं तो सहायक। मैं दस्तावेज़ीकरण और Google में सभी चीजें पा सकता हूं, लेकिन उत्तर केवल मेरे लिए नहीं बल्कि दूसरों के लिए भी हैं। यह कुछ (अमूल्य) समय बचा सकता है। – maverik
यहां आप जाते हैं, सरल उदाहरण –
धन्यवाद। यह वास्तव में सहायक है। – maverik