Google search

Basic and advanced computer skills like Excel with macros, How to speed up your PC, C, CPP, Java programming, HTML, JavaScript, PHP, Wordpress, all web tools, Android tutorials, MySQL Tutorials, WAMP server installation. etc.

Java RMI Example

TO execute Java RMI Program, follow below steps.

1. Create a file called "HelloWorldRMIServer.java" as following code.
import java.rmi.*;
import java.rmi.server.UnicastRemoteObject;

public class HelloWorldRMIServer
{
        public static void main(String[] argv)
                {

                System.setSecurityManager(new RMISecurityManager());

                try
                   {
                        HelloWorldRMIImpl implementation = new HelloWorldRMIImpl ("HelloWorldRMIImplInstance", "Hello World! from Java RMI Server machine-MITindia");
                    }
                catch (Exception e)
                    {
                System.out.println("Exception occurred: " + e);
                     }
                }
}

2. Next, create a file called "HelloWorldRMIInterface.java" as following code.
import java.rmi.Remote;

public interface HelloWorldRMIInterface extends Remote
{
        public String sayHello() throws java.rmi.RemoteException;
}

3. Next, create a file called "HelloWorldRMIImpl.java" as following code in it.
import java.rmi.*;
import java.rmi.server.UnicastRemoteObject;

public class HelloWorldRMIImpl extends UnicastRemoteObject implements HelloWorldRMIInterface
{

                   public String message;

        public HelloWorldRMIImpl(String name, String msg) throws RemoteException
                {
                super();
                try
                 {
                   Naming.rebind(name, this);
                   message = msg;
                 }
                catch(Exception e)
                 {
                 System.out.println("Exception occurred: " + e);
                 }
                }
        public String sayHello()
                {
                return message;
                }
}

4. Create another file called "HelloWorldRMIClient.java" as following code.
import java.rmi.*;
import java.rmi.registry.*;
import java.rmi.server.*;

public class HelloWorldRMIClient
{
        public static void main(String[] argv)
                {

                System.setSecurityManager(new RMISecurityManager());

                if (argv.length != 1)
                 {
                             System.out.println("usage: java myRMIClient <IP address of host running RMI server>");
                             System.exit(0);
                 }
                   String serverName = argv[0];
                try
                 {

           HelloWorldRMIInterface myServerObject = (HelloWorldRMIInterface) Naming.lookup("rmi://"+serverName+"/HelloWorldRMIImplInstance");
                        String message = myServerObject.sayHello();
                        System.out.println("Message From Server is " + message);
                  }
                catch(Exception e)
                  {
                     System.out.println("Exception occured: " + e);
                     System.exit(0);
                  }
                   System.out.println("RMI connection successful");
                }


}

5. Now, Compile all above 4 programs, one by one. [Don't run now, just compile all!]

6. Create a "permit.policy" file with following syntax in. (use notepad to create this file and save as "permit.policy")
grant { 
   permission java.net.SocketPermission "*:1024-65535",
          "connect,accept,resolve";
   permission java.net.SocketPermission "*:1-1023", 
           "connect,resolve";
};

7.Go to command prompt  and type: start rmiregistry

8. First run server file called "HelloWorldRMIServer" with following style of running.

java -Djava.security.policy=permit.policy HelloWorldRMIServer

9. Next, run client file "HelloWorldRMIClient" as following style of running (in another command prompt and please keep open server command, don't close it!)

java -Djava.security.policy=permit.policy  HelloWorldRMIClient 127.0.0.1
That's all for running RMI Programs, now keep executing some more RMI programs for practice!

<<==Java RMI 

No comments:

Post a Comment