RMI应用的部署及类的动态加载
来源:互联网 发布:传输我的数据 安卓 编辑:程序博客网 时间:2024/05/11 12:43
这是根据我上一篇Java RMI实例的代码进行的配置(http://blog.csdn.net/error/404.html?from=http%3a%2f%2fblog.csdn.net%2fzlp1992%2farticle%2fdetails%2f40455405)
远程对象一般分布在服务器端,当客户端试图调用远程对象的方法时,如果在客户端还不存在远程对象所依赖的类文件,如远程方法的参数和返回值对应的类文件,客户端会从java.rmi.server.codebase系统属性指定的位置动态加载该类文件。当服务器端访问客户端的远程对象时也一样。
RMI框架的动态加载类的机制:被动态加载的类的文件都集中放在网络的同一个地方,如果类被修改,只要更新这个地方的类文件就行了。
以前一个例子的文件来测试:
我们将前面的例子中的class文件如下放置
F:\test\client\ : Calculator.class CalculatorClient.class
client目录:这个目录被发布到客户进程所在的主机上
F:\test\server\ : Calculator.class CalculatorImpl.class CalculatorServer.class
server 目录:放置了运行服务器程序所有的类文件,如果使用JDK1.4或者更低的版本,还要把存根类(CalculatorImpl_Stub.class)的文件也放到该目录下。这个目录被发布到服务器进程所在的主机上。
F:\test\download\ : Calculator.class
download 目录:用于动态加载类的目录。java.rmi.server.codebase系统属性就指向这个目录。客户程序、服务器程序及RMI注册表都会从这个目录下动态加载有关类文件。Download目录可以发布到服务器程序所在的主机上,或者网络的其他主机,只要让java.rmi.server.codebase系统属性指向它就行。
下面首先在同一台主机运行本程序
(1) 在DOS,运行命令“start rmiregistry”,这是会另外弹出一个空窗口
(2) 在DOS下,转到F:\test\server目录下,运行命令:
start java –Djava.rmi.server.codebase=file:///F:\test\download\ CalculatorServer
注意空格,“-D”选项把java.rmi.server.codebase系统属性设为一个本地文件系统的目录“file:///F:\test\download\”,文件路径必须以“\”结束。如果是放在网络上,则可以这样指定:
-Djava.rmi.server.codebase=http://www.xxx.xx/download/ ,在该download目录下放置要动态加载的class文件
如果成功,会弹出如下界面
(3) 在DOS下,转到F:\test\client目录下,运行命令:
java CalculatorClient
运行成功会出现如下结果
对于在两台不同的机器上运行,首先你要保证作为服务器和客户端的两台机器之间能够ping通,其次在客户端除了要保存客户端程序,还要保存声明远程功能的接口对应的class文件,在上述例子中,客户端需要Calculator.class和CalculatorClient文件,
- RMI应用的部署及类的动态加载
- java的动态类加载机制及应用
- Spring RMI的应用
- Spring RMI的应用
- 分布式-远程部署的RMI
- tomcat的部署及应用
- java分布式对象(RMI+部署使用RMI的程序)
- JSP动态获取部署的应用名
- 可动态部署的web应用
- RMI中客户端与服务器端的部署
- 部署RMI时要注意的地方
- 类的动态加载
- 类的动态加载
- ansible的安装部署及简单应用
- java之 类的加载及动态代理
- Minifilter的动态安装、加载及卸载
- Minifilter的动态安装、加载及卸载
- Minifilter的动态安装、加载及卸载
- HDU 4791 & ZOJ 3726 Alice's Print Service (数学 打表)
- C语言大千世界————01开篇之函数别名
- 博客 积分 等级 C币 勋章
- [MAC] mac 安装MySQL及简单配置
- ios如何设置主题,框架
- RMI应用的部署及类的动态加载
- Struts2访问web元素(Request,Session,Application)的四种方式
- java数据库连接池技术简单使用
- Java中线程同步—————生产者与消费者实例
- 深入理解jvm
- 自定义的旋转3D效果
- 求一元二次方程(改)
- PAT (Advanced Level) Practise 1015. Reversible Primes (20)
- 汇编 求字符串长度