<BAEL-1209>[Harihar] Code for RMI java. http://jira.baeldung.com/brow… (#2729)

* <BAEL-1209>[Harihar] Code for RMI java. http://jira.baeldung.com/browse/BAEL-1209

* <BAEL-1209>[Harihar] Use specific exception declaration
This commit is contained in:
Harihar Das 2017-10-15 08:04:13 +05:30 committed by Zeger Hendrikse
parent a6e8045793
commit 56af2a7318
6 changed files with 66 additions and 0 deletions

3
rmi/client.policy Normal file
View File

@ -0,0 +1,3 @@
grant {
permission java.security.AllPermission;
};

3
rmi/server.policy Normal file
View File

@ -0,0 +1,3 @@
grant {
permission java.security.AllPermission;
};

View File

@ -0,0 +1,20 @@
package org.baeldung;
import java.rmi.NotBoundException;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
public class Client {
public static void main(String[] args) throws RemoteException, NotBoundException {
System.setProperty("java.security.policy", "file:./client.policy");
if (System.getSecurityManager() == null) {
System.setSecurityManager(new SecurityManager());
}
String name = "RandomNumberGenerator";
Registry registry = LocateRegistry.getRegistry();
RandomNumberGenerator randomNumberGenerator = (RandomNumberGenerator) registry.lookup(name);
int number = randomNumberGenerator.get();
System.out.println("Received random number:" + number);
}
}

View File

@ -0,0 +1,8 @@
package org.baeldung;
import java.rmi.Remote;
import java.rmi.RemoteException;
public interface RandomNumberGenerator extends Remote{
int get() throws RemoteException;
}

View File

@ -0,0 +1,10 @@
package org.baeldung;
import java.rmi.RemoteException;
public class RandomNumberGeneratorEngine implements RandomNumberGenerator {
@Override
public int get() throws RemoteException {
return (int) (100 * Math.random());
}
}

View File

@ -0,0 +1,22 @@
package org.baeldung;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.rmi.server.UnicastRemoteObject;
public class Server {
public static void main(String[] args) throws RemoteException {
System.setProperty("java.security.policy", "file:./server.policy");
if (System.getSecurityManager() == null) {
System.setSecurityManager(new SecurityManager());
}
String name = "RandomNumberGenerator";
RandomNumberGenerator randomNumberGenerator = new RandomNumberGeneratorEngine();
RandomNumberGenerator stub =
(RandomNumberGenerator) UnicastRemoteObject.exportObject(randomNumberGenerator, 0);
Registry registry = LocateRegistry.getRegistry();
registry.rebind(name, stub);
System.out.println("RandomNumberGenerator bound");
}
}