RMI का अर्थ है रिमोट मेथड इनवोकेशन . यह एक ऐसा तंत्र है जो एक सिस्टम (JVM) में रहने वाली किसी वस्तु को दूसरे JVM पर चल रही किसी वस्तु तक पहुँचने/आह्वान करने की अनुमति देता है।
RMI का उपयोग वितरित अनुप्रयोगों के निर्माण के लिए किया जाता है; यह जावा प्रोग्रामों के बीच दूरस्थ संचार प्रदान करता है। यह पैकेज java.rmi . में दिया गया है ।
RMI Java एप्लिकेशन लिखने के लिए, आपको नीचे दिए गए चरणों का पालन करना होगा -
चरण1 - दूरस्थ इंटरफ़ेस को परिभाषित करें
एक दूरस्थ इंटरफ़ेस किसी विशेष दूरस्थ वस्तु के सभी तरीकों का विवरण प्रदान करता है। क्लाइंट इस दूरस्थ इंटरफ़ेस के साथ संचार करता है। इसलिए, आपको एक ऐसा इंटरफ़ेस बनाने की आवश्यकता है जो पूर्वनिर्धारित इंटरफ़ेस, java.rmi का विस्तार करे।रिमोट ।
उदाहरण
import java.rmi.Remote;import java.rmi.RemoteException;सार्वजनिक इंटरफ़ेस हैलो रिमोट बढ़ाता है {शून्य प्रिंटएमएसजी () रिमोटएक्सप्शन फेंकता है;}
चरण 2 - कार्यान्वयन वर्ग (रिमोट ऑब्जेक्ट) विकसित करें
हमें पहले चरण में बनाए गए दूरस्थ इंटरफ़ेस को लागू करने की आवश्यकता है। (हम एक कार्यान्वयन वर्ग अलग से लिख सकते हैं या हम सीधे सर्वर प्रोग्राम को इस इंटरफ़ेस को लागू कर सकते हैं।) इसलिए, दूरस्थ इंटरफ़ेस के सभी सार विधियों को कार्यान्वयन प्रदान करें।
उदाहरण
सार्वजनिक वर्ग ImplExample हैलो लागू करता है { public void printMsg() { System.out.println ("यह एक उदाहरण RMI प्रोग्राम है"); }}
चरण3 - सर्वर प्रोग्राम विकसित करें
एक आरएमआई सर्वर प्रोग्राम को रिमोट इंटरफेस लागू करना चाहिए या कार्यान्वयन वर्ग का विस्तार करना चाहिए। यहां, हमें एक दूरस्थ वस्तु बनानी चाहिए और उसे RMIregistry . से बांधना चाहिए . इसलिए, एक सर्वर प्रोग्राम विकसित करें जैसा कि नीचे दिखाया गया है -
उदाहरण
आयात करें स्थैतिक शून्य मुख्य (स्ट्रिंग तर्क []) {कोशिश {ImplExample obj =नया ImplExample (); हैलो स्टब =(हैलो) UnicastRemoteObject.exportObject (obj, 0); रजिस्ट्री रजिस्ट्री =LocateRegistry.getRegistry (); रजिस्ट्री.बाइंड ("हैलो", स्टब); System.err.println ("सर्वर तैयार"); } पकड़ (अपवाद ई) { System.err.println ("सर्वर अपवाद:" + e.toString ()); ई.प्रिंटस्टैकट्रेस (); } }}चरण4 - क्लाइंट प्रोग्राम विकसित करें
इसमें क्लाइंट प्रोग्राम लिखें, रिमोट ऑब्जेक्ट प्राप्त करें और इस ऑब्जेक्ट का उपयोग करके आवश्यक विधि को लागू करें।
उदाहरण
आयात करें (व्यर्थ); हैलो स्टब =(हैलो) रजिस्ट्री। लुकअप ("हैलो"); stub.printMsg (); } पकड़ (अपवाद ई) { System.err.println ("क्लाइंट अपवाद:" + e.toString ()); ई.प्रिंटस्टैकट्रेस (); } }}चरण5 - एप्लिकेशन संकलित करें
एप्लिकेशन को संकलित करने के लिए -
-
दूरस्थ इंटरफ़ेस संकलित करें।
-
कार्यान्वयन वर्ग संकलित करें।
-
सर्वर प्रोग्राम संकलित करें।
-
क्लाइंट प्रोग्राम संकलित करें।
चरण6 - एप्लिकेशन निष्पादित करें
-
आरएमआई . प्रारंभ करें निम्न आदेश का उपयोग कर रजिस्ट्री।
आर्मीरजिस्ट्री शुरू करें
यह एक rmi . शुरू करेगा एक अलग विंडो पर रजिस्ट्री।
-
सर्वर क्लास फ़ाइल को नीचे दिखाए अनुसार चलाएँ -
-
क्लाइंट क्लास फ़ाइल को नीचे दिखाए अनुसार चलाएँ -
-
सत्यापन - जैसे ही आप क्लाइंट शुरू करते हैं, आपको सर्वर में निम्न आउटपुट दिखाई देगा।