OpenJDK 8 - Registry

इंटरफ़ेस रजिस्ट्री




openjdk

इंटरफ़ेस रजिस्ट्री

सभी सुपरफिनफेसेस:
Remote
public interface Registry
extends Remote

Registry एक सरल दूरस्थ वस्तु रजिस्ट्री के लिए एक दूरस्थ इंटरफ़ेस है जो मनमाने स्ट्रिंग नामों के साथ बाध्य दूरस्थ ऑब्जेक्ट संदर्भों को संग्रहीत और पुनर्प्राप्त करने के तरीके प्रदान करता है। bind , unbind और rebind विधियों का उपयोग रजिस्ट्री में नाम बाइंडिंग को बदलने के लिए किया जाता है, और वर्तमान नाम बाइंडिंग को क्वेरी करने के लिए lookup और list विधियों का उपयोग किया जाता है।

अपने विशिष्ट उपयोग में, एक Registry आरएमआई क्लाइंट बूटस्ट्रैपिंग को सक्षम करती है: यह क्लाइंट को दूरस्थ ऑब्जेक्ट के लिए प्रारंभिक संदर्भ प्राप्त करने के लिए एक सरल साधन प्रदान करता है। इसलिए, एक रजिस्ट्री का दूरस्थ ऑब्जेक्ट कार्यान्वयन आमतौर पर एक प्रसिद्ध पते के साथ निर्यात किया जाता है, जैसे कि एक प्रसिद्ध ObjID और टीसीपी पोर्ट नंबर (डिफ़ॉल्ट 1099 ) के साथ।

LocateRegistry वर्ग एक दूरस्थ पते पर Registry बूटस्ट्रैप संदर्भ (स्थैतिक getRegistry विधियों देखें) के निर्माण के लिए और एक विशेष स्थानीय पते पर वर्तमान VM में एक Registry बनाने और निर्यात करने के लिए प्रोग्रामेटिक एपीआई प्रदान करता है (स्थैतिक बनाने की विधि देखें)।

एक Registry कार्यान्वयन अपने कुछ या सभी तरीकों तक पहुंच को प्रतिबंधित करने का विकल्प चुन सकता है (उदाहरण के लिए, रजिस्ट्री के बाइंडिंग को म्यूट करने वाले तरीके स्थानीय होस्ट से कॉल करने के लिए प्रतिबंधित हो सकते हैं)। यदि Registry पद्धति किसी दिए गए आह्वान के लिए पहुंच को अस्वीकार करने का विकल्प चुनती है, तो इसका कार्यान्वयन AccessException को फेंक सकता है, जो (क्योंकि यह RemoteException विस्तार RemoteException ) एक दूरस्थ क्लाइंट द्वारा पकड़े जाने पर ServerException में लपेटा जाएगा।

एक Registry में बाइंडिंग के लिए उपयोग किए जाने वाले नाम शुद्ध तार हैं, पार्स नहीं किए गए हैं। एक सेवा जो Registry में अपने दूरस्थ संदर्भ को संग्रहीत करती है, रजिस्ट्री में नाम टकराव की संभावना को कम करने के लिए नाम बंधन में उपसर्ग के रूप में पैकेज नाम का उपयोग करना चाह सकती है।

जबसे:
JDK1.1
यह भी देखें:
LocateRegistry

खेत

REGISTRY_PORT

static final int REGISTRY_PORT

रजिस्ट्री के लिए प्रसिद्ध बंदरगाह।

तरीके

देखो

Remote lookup(String name)
       throws RemoteException,
              NotBoundException,
              AccessException

इस रजिस्ट्री में निर्दिष्ट name लिए बाध्य दूरस्थ संदर्भ देता है।

पैरामीटर:
name - देखने के लिए दूरस्थ संदर्भ का नाम
यह दिखाता है:
दूरस्थ वस्तु का संदर्भ
फेंकता:
NotBoundException - अगर name वर्तमान में बाध्य नहीं है
RemoteException - यदि रजिस्ट्री के साथ दूरस्थ संचार विफल हो गया; यदि अपवाद ServerException युक्त एक AccessException , तो रजिस्ट्री इस कार्रवाई को करने के लिए कॉलर एक्सेस से इनकार करती है
AccessException - यदि यह रजिस्ट्री स्थानीय है और यह इस ऑपरेशन को करने के लिए कॉलर एक्सेस से इनकार करती है
NullPointerException - अगर name null

बाँध

void bind(String name,
          Remote obj)
   throws RemoteException,
          AlreadyBoundException,
          AccessException

इस रजिस्ट्री में निर्दिष्ट name लिए एक दूरस्थ संदर्भ बांधता है।

पैरामीटर:
name - दूरस्थ संदर्भ के साथ जुड़ने वाला नाम
obj - एक दूरस्थ वस्तु का संदर्भ (आमतौर पर एक स्टब)
फेंकता:
पहले से ही AlreadyBoundException - अगर name पहले से ही बाउंड है
RemoteException - यदि रजिस्ट्री के साथ दूरस्थ संचार विफल हो गया; यदि अपवाद ServerException युक्त एक AccessException , तो रजिस्ट्री इस ऑपरेशन को करने के लिए कॉलर एक्सेस से इनकार करती है (यदि एक गैर-स्थानीय होस्ट से उत्पन्न होती है, उदाहरण के लिए)
AccessException - यदि यह रजिस्ट्री स्थानीय है और यह इस ऑपरेशन को करने के लिए कॉलर एक्सेस से इनकार करती है
NullPointerException - यदि name null , या यदि obj null

छुड़ाना

void unbind(String name)
     throws RemoteException,
            NotBoundException,
            AccessException

इस रजिस्ट्री में निर्दिष्ट name लिए बाइंडिंग निकालता है।

पैरामीटर:
name - हटाने के लिए बाध्यकारी का नाम
फेंकता:
NotBoundException - अगर name वर्तमान में बाध्य नहीं है
RemoteException - यदि रजिस्ट्री के साथ दूरस्थ संचार विफल हो गया; यदि अपवाद ServerException युक्त एक AccessException , तो रजिस्ट्री इस ऑपरेशन को करने के लिए कॉलर एक्सेस से इनकार करती है (यदि एक गैर-स्थानीय होस्ट से उत्पन्न होती है, उदाहरण के लिए)
AccessException - यदि यह रजिस्ट्री स्थानीय है और यह इस ऑपरेशन को करने के लिए कॉलर एक्सेस से इनकार करती है
NullPointerException - अगर name null

rebind

void rebind(String name,
            Remote obj)
     throws RemoteException,
            AccessException

आपूर्ति की गई दूरस्थ संदर्भ के साथ इस रजिस्ट्री में निर्दिष्ट name लिए बाइंडिंग को बदलता है। यदि निर्दिष्ट name लिए कोई मौजूदा बाइंडिंग है, तो उसे छोड़ दिया गया है।

पैरामीटर:
name - दूरस्थ संदर्भ के साथ जुड़ने वाला नाम
obj - एक दूरस्थ वस्तु का संदर्भ (आमतौर पर एक स्टब)
फेंकता:
RemoteException - यदि रजिस्ट्री के साथ दूरस्थ संचार विफल हो गया; यदि अपवाद ServerException युक्त एक AccessException , तो रजिस्ट्री इस ऑपरेशन को करने के लिए कॉलर एक्सेस से इनकार करती है (यदि एक गैर-स्थानीय होस्ट से उत्पन्न होती है, उदाहरण के लिए)
AccessException - यदि यह रजिस्ट्री स्थानीय है और यह इस ऑपरेशन को करने के लिए कॉलर एक्सेस से इनकार करती है
NullPointerException - यदि name null , या यदि obj null

सूची

String[] list()
       throws RemoteException,
              AccessException

इस रजिस्ट्री में बंधे नामों की एक सरणी देता है। सरणी में इस पद्धति के दिए गए आह्वान के समय इस रजिस्ट्री में बंधे नामों का एक स्नैपशॉट होगा।

यह दिखाता है:
इस रजिस्ट्री में बंधे नामों की एक सरणी
फेंकता:
RemoteException - यदि रजिस्ट्री के साथ दूरस्थ संचार विफल हो गया; यदि अपवाद ServerException युक्त एक AccessException , तो रजिस्ट्री इस कार्रवाई को करने के लिए कॉलर एक्सेस से इनकार करती है
AccessException - यदि यह रजिस्ट्री स्थानीय है और यह इस ऑपरेशन को करने के लिए कॉलर एक्सेस से इनकार करती है