package com.opensource.rmi;
import java.rmi.Remote;
import java.rmi.RemoteException;
/**
*
* @author Cache John
* @email 550595698@qq.com
*
*/
public interface RmiSample extends Remote
{
public int sum(int a, int b)
throws RemoteException;
}
package com.opensource.rmi;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
/**
*
* @author CacheJohn
* @email 550595698@qq.com
*
*/
public class RmiSampleImpl extends UnicastRemoteObject implements RmiSample
{
private static final long serialVersionUID = 1L;
protected RmiSampleImpl()
throws RemoteException
{
super();
}
@Override
public int sum(int a, int b)
throws RemoteException
{
return a + b;
}
}
package com.opensource.rmi;
import java.net.MalformedURLException;
import java.rmi.Naming;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
/**
*
* @author CacheJohn
* @email 550595698@qq.com
*
*/
public class RmiSampleServer
{
/**
* @param args
*/
public static void main(String[] args)
{
try
{
LocateRegistry.createRegistry(8808);
RmiSampleImpl server = new RmiSampleImpl();
Naming.rebind("//10.138.214.115:8808/test", server);
System.out.println("server start............");
}
catch (MalformedURLException me)
{
System.out.println("Malformed URL: " + me.toString());
}
catch (RemoteException re)
{
System.out.println("Remote Exception: " + re.toString());
}
}
}
package com.opensource.rmi;
import java.rmi.Naming;
import java.rmi.RemoteException;
/**
*
* @author CacheJohn
* @email 550595698@qq.com
*
*/
public class RmiSampleClient
{
/**
* @param args
*/
public static void main(String[] args)
{
try
{
String url = "//10.138.214.115:8808/test";
RmiSample RmiObject = (RmiSample)Naming.lookup(url);
System.out.println(" 1 + 3 = " + RmiObject.sum(1, 3));
}
catch (RemoteException rex)
{
System.out.println("Error in lookup: " + rex.toString());
}
catch (java.net.MalformedURLException me)
{
System.out.println("Malformed URL: " + me.toString());
}
catch (java.rmi.NotBoundException ne)
{
System.out.println("NotBound: " + ne.toString());
}
}
}