代理可以控制和管理访问。


RMI提供了客户辅助对象和服务辅助对象,为客户辅助对象创建和服务对象相同的方法。RMI的好处在于你不必亲自写任何网络或I/O代码。客户程序调用远程方法就和运行在客户自己本地JVM对对象进行正常方法调用一样。
步骤一:制作远程接口
- // 1 扩展java.rmi.Remote接口
- // 2 声明所有方法都会抛出RemoteException
- // 3 确定变量和返回值属于原语或者可序列化类型 (自己定义的类一定要实现Serializable)
-
-
- import java.rmi.*
-
- public interface MyRemote extends Remote{
- public String sayHello() throws RemoteException;
- }
步骤一:制作远程实现
- // 1 客户必须实现远程接口
- // 2 扩展UnicastRemoteObject对象,让超类帮你实现某些“远程”功能
- // 3 声明一个不带变量的构造器,并抛出RemoteException
- // 4 用RMI Registry注册此服务
- //
-
- public class MyRemoteImpl extends UnicastRemoteObject implements MyRemote{
-
- public MyRemoteImpl() throws RemoteException{}
-
- public String sayHello(){
- return "Server says: hey";
- }
- }
-
- try{
- MyRemote service = new MyRemoteImpl();
- Naming.rebind("RemoteHello", service);
- }catch(Exception ex){ ... }
----------------------------