मुझे उस जेवीएम में चल रहे जावा कोड के भीतर से JVM के उदाहरण को अनन्य और स्थायी रूप से पहचानने का एक तरीका चाहिए।क्या किसी विशेष JVM इंस्टेंस के लिए वास्तव में अद्वितीय आईडी प्राप्त करना संभव है?
यही है, अगर मेरे पास एक ही मशीन पर एक ही समय में दो JVM चल रहे हैं, तो प्रत्येक अलग-अलग है। यह अन्य मशीनों पर और उसी मशीन पर भविष्य के निष्पादन से JVMs चलाने से भी अलग है, भले ही प्रक्रिया आईडी का पुन: उपयोग किया जाए।
मुझे लगता है कि मैं स्टार्ट टाइम, मशीन मैक और प्रक्रिया आईडी की पहचान करके और इसे किसी तरह से संयोजित करके इस तरह कुछ कार्यान्वित कर सकता हूं। मैं सोच रहा हूं कि इसे हासिल करने के लिए कुछ मानक तरीका है या नहीं।
अद्यतन: मुझे लगता है कि हर किसी ने पूरे सत्र के लिए यूयूआईडी की सिफारिश की है। यह शायद एक अच्छा विचार की तरह लगता है हालांकि संभवतः थोड़ा बहुत भारी वजन। यहां मेरी समस्या है हालांकि: मैं प्रत्येक जेवीएम निष्पादन में कई अद्वितीय पहचानकर्ता बनाने के लिए जेवीएम आईडी का उपयोग करना चाहता हूं जो किसी भी तरह से JVM इंस्टेंस को शामिल करता है।
मेरी समझ यह है कि आपको वास्तव में अन्य संख्याओं को यूयूआईडी में मिश्रित नहीं करना चाहिए क्योंकि विशिष्टता की अब गारंटी नहीं है। यूयूआईडी को एक स्ट्रिंग में बनाने और इसे चेन करने का एक विकल्प है, लेकिन फिर यह बहुत लंबा हो जाता है। इस पर काबू पाने पर कोई विचार?
मैं समझता हूं कि आप एक जेवीएम उदाहरण की विशिष्ट पहचान करने में सक्षम होना चाहते हैं, लेकिन इस जानकारी के साथ आपको अंतर्निहित समस्या क्या है? –
@Thorbjorn: मेरे पास एक वितरित प्रणाली है, और मुझे 1) विशिष्ट रूप से आउटगोइंग पैकेट की पहचान करने की आवश्यकता है।2) इसे 'मानव पठनीय' बनाए रखें ताकि लॉग फाइलों और डीबग जानकारी में मैं तुरंत उसी उदाहरण से आने वाले पैकेट की पहचान कर सकूं। – Uri