का पता लगाने मैं जावा 1.6 में प्लेटफार्म एमबीएन्स सर्वर का उपयोग कर रहा हूं, जो ओएसजीआई कंटेनर में चल रहा है।नए पंजीकृत एमबीएन
सांख्यिकीय काउंटर और घटनाओं के लिए मुख्य रूप से एमबीन का उपयोग करना। उनके कार्यान्वयन एक बंडल में हैं, लेकिन वे कई अन्य बंडलों में तत्काल हैं। मंच एमबीन सर्वर के साथ हर एमबीन autoregisters खुद।
समस्या यह है कि जब मैं जेएमएक्स के माध्यम से संलग्न करता हूं और एमबीएन्स के लिए पूछताछ करता हूं, तो मुझे केवल उन लोगों को मिलता है जो वर्तमान में पंजीकृत हैं, और जब तक उन्हें तत्काल नहीं किया जाता है तब तक वे पंजीकृत नहीं होंगे (या तो क्योंकि स्थिर कक्षाएं पहले तक मौजूद नहीं होती हैं एक्सेस, या क्योंकि बंडल अभी तक शुरू नहीं हुआ है, या काउंटर कुछ तर्क में गहरा है जो पहले उपयोग तक मौजूद नहीं है)
मुझे एमबीएन्स सर्वर में "रजिस्टर" ईवेंट की सदस्यता लेने का कोई तरीका चाहिए। या यह निर्धारित करने का कोई अन्य तरीका है कि सर्वर में जोड़े गए नए एमबीएन्स कब हैं। हटाए गए एमबीन का पता लगाना एक अतिरिक्त बोनस होगा, लेकिन आवश्यक नहीं है।
मुझे मिला एकमात्र समाधान मूल रूप से एक धागा है जो हर 5 सेकंड में सर्वर को चुनाव करता है और परिणाम की तुलना एमबीन की सहेजी गई सूची के साथ करता है, और यह काफी बदसूरत है।
मैं उम्मीद कर रहा था कि ऐसा करने का एक आसान तरीका था :( जैसे कि "नए पंजीकरण के लिए सुनो" घटना किसी अनियंत्रित एपीआई या किसी चीज़ में कहीं गहरी है .. – MarcB
यह आपकी मुख्य समस्या का समाधान नहीं करता है: एमबीआईएन देखना जो अभी पंजीकृत नहीं है, अभी तक। –
ठीक है, मुझे उन्हें देखने की ज़रूरत नहीं है जब वे पंजीकृत नहीं हैं (हालांकि यह अच्छा होगा)। पंजीकृत होने पर पता लगाना पर्याप्त होगा। – MarcB