RMI部署详细过程for jdk6.0

 

开发环境:MyEclipse8.5

服务器ip为192.168.1.100

客户端ip为192.168.1.101

服务器初始目录结构: 

src/com/syslink

                      |  server

                             |-------TaskInfo.java        (接口)  

                             |-------TaskDispatcher.java        (接口)  

                             |-------TaskInfoImpl.java          (实现TaskInfo接口) 

                             |-------TaskDispatcherImpl.java       (实现TaskDispatcher接口)

                             |-------Server.java           (启动RMI服务器)

bin/com/syslink

                      |  server

                             |-------TaskInfo.class     

                             |-------TaskDispatcher.class      

                             |-------TaskInfoImpl.class   

                             |-------TaskDispatcherImpl.class       

                             |-------Server.class 

 

客户端初始目录结构:

src/com/syslink

                      |  server

                            |-------TaskInfo.java        (接口,同服务器下的接口文件) 

                            |-------TaskDispatcher.java        (接口,同服务器下的接口文件) 

                      | client 

                             |-------Client.java      (启动RMI客户端)

bin/com/syslink

                      |  server

                             |-------TaskInfo.class     

                             |-------TaskDispatcher.class                 

                      | client 

                             |-------Client.class

              

1:服务器端运行RMIC(我机子上位于C:\Program Files\Java\jdk1.6.0_12\bin)生成stub文件

必须在src目录下执行以下两句:

src>RMIC com.syslink.server.TaskInfoImpl           

src>RMIC com.syslink.server.TaskDispatcherImpl

运行完后在

com/syslink/server目录下将新增两个文件:TaskInfoImpl_Stub.class 和 TaskDispatcherImpl_Stub.class

(如果在RMIC命令中加-keep参数,还会生成另两个文件TaskInfoImpl_Stub.java和 TaskDispatcherImpl_Stub.java,最好看一下里面的继承关系,加深理解)

(如果出现找不到类的情况,请添加classpath参数,如:RMIC -classpath . com.syslink.server.TaskInfoImpl  )


2:将1中生成的两个*Impl_Stub.class文件拷贝到服务器bin/com/syslink/server和客户端bin/com/syslink/server目录下

 

3:分别在服务器和客户端的bin/com/syslink/server目录下建一个server.policy文件,内容为:

grant {  
permission java.security.AllPermission "", "";  
};

(内容可以根据实际情况改,这里表示允许客户端做任何事)

 

4:服务器端运行start rmiregistry

 

5:服务器端运行Server

记得在server的启动代码里加上System.setProperty ("java.security.policy", EmailSendServer.class.getResource("server.policy").toString ()); 否则将出现“Access Denied。。。”错误

 

6:客户端运行Client

跟运行Server一样,加上System.setProperty ("java.security.policy", EmailSendClient.class.getResource("server.policy").toString ()); 否则将出现“Access Denied。。。”错误

 

7:最后的目录结构为:

服务器最终目录结构: 

src/com/syslink

                      |  server

                             |-------TaskInfo.java        (接口)  

                             |-------TaskDispatcher.java        (接口)  

                             |-------TaskInfoImpl.java          (实现TaskInfo接口) 

                             |-------TaskDispatcherImpl.java       (实现TaskDispatcher接口)

                             |-------Server.java           (启动RMI服务器)

                             |-------TaskInfoImpl_Stub.class            (删除也没关系)

                             |-------TaskDispatcherImpl_Stub.class     (删除也没关系)

 

bin/com/syslink

                      |  server

                             |-------TaskInfo.class     

                             |-------TaskDispatcher.class      

                             |-------TaskInfoImpl.class   

                             |-------TaskDispatcherImpl.class       

                             |-------Server.class 

                             |-------TaskInfoImpl_Stub.class   

                             |-------TaskDispatcherImpl_Stub.class     

                             |-------server.policy

 

 

客户端最终目录结构:

src/com/syslink

                      |  server

                            |-------TaskInfo.java        (接口,同服务器下的接口文件) 

                            |-------TaskDispatcher.java        (接口,同服务器下的接口文件) 

                      | client 

                             |-------Client.java      (启动RMI客户端)

bin/com/syslink

                      |  server

                             |-------TaskInfo.class     

                             |-------TaskDispatcher.class             

                             |-------TaskInfoImpl_Stub.class            

                             |-------TaskDispatcherImpl_Stub.class      

                      | client 

                             |-------Client.class

                             |-------server.policy        

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值