博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RMI参考
阅读量:6089 次
发布时间:2019-06-20

本文共 1118 字,大约阅读时间需要 3 分钟。

RMI远程调用技术是基于servlet容器基础之上的

1,定义本地提供的远程调用接口,对外接口要继承java.rmi.Remote

2,接口实现类在实现对外接口的时候要继承java.rmi.server.UnicastRemoteObject

System.setSecurityManager(new java.rmi.RMISecurityManager());

在程序入口定义rmi安全管理器

java.rmi.Naming.rebind("/Customer", cust);//将应用程序绑定到了RMI名字空间,这样对象就可以被外界了解

编写好服务端之后 要通过rmic命令编译rmi服务端代码生成代码存根(stub)和框架(skeleton)

xx_stub.class //客户端,用来发送请求数据
xx_skel.class //服务端框架,用来解析请求数据

rmic命令: rmic -d 服务端根目录

有点类似webservice

客户端调用

  ·远程对象使用Naming.lookup()服务来解析。我们给出了远程对象的外部名称,然后在目标主机的rmiregistry中查找它。
  ·所有对远程方法的调用都可能会产生一个远程异常。
String host = "";
    CustomerInterface cust = (CustomerInterface)java.rmi.Naming.lookup(host + "Customer");

     // We have an instance of the remote object. Get the

     // customer information
     CustomerData data = cust.getCustomerData(id);

RMI部署:

(1)定义远程接口(继承Remote接口即可);
(2)定义应用程序服务执行类,该类必须执行远程定义接口且继承UnicastRemoteObject;
(3)定义应用程序服务端程序入口(main函数),绑定远程对象
(4)使用rmic工具生成执行类的存根,程序员并不直接使用该类
(5)启动RMI注册表工具(rmiregistry)
(6)启动应用程序服务器
(7)检查服务注册
(8)将Server目录中远程定义接口和存根复制到Client目录
(9)定义客户端程序入口(main函数),检索远程接口,实现接口调用

接口定义和客户端程序必须拷贝到客户端

转载于:https://www.cnblogs.com/zhuzhiq/articles/3172750.html

你可能感兴趣的文章
Python 进阶之路 (十一) 再立Flag, 社区最全的itertools深度解析(下)
查看>>
微信分享,二次分享(移动web端)
查看>>
蚂蚁金服智能推荐引擎解决方案与实践
查看>>
PC比电脑好玩的秘密是什么?答案就是因为有这些神奇的网站!
查看>>
30秒的PHP代码片段(2)数学 - Math
查看>>
助力中文文字识别突破,美团公开首个真实场景招牌图像数据集
查看>>
IOS常用框架集合
查看>>
Laravel 深入核心系列教程
查看>>
webpack 性能提速
查看>>
一次下载多个文件的解决思路-JS
查看>>
记录使用Vue相关API开发项目时遇到的问题难点整理(不定时更新)
查看>>
《Java8实战》-第五章读书笔记(使用流Stream-02)
查看>>
vue轮播图插件之vue-awesome-swiper
查看>>
Cabloy.js:基于EggBorn.js开发的一款顶级Javascript全栈业务开发框架
查看>>
HTTP相关知识汇总
查看>>
使用wagon-maven-plugin部署Java项目到远程服务器
查看>>
新书推荐 |《PostgreSQL实战》出版(提供样章下载)
查看>>
JavaScript/数据类型/function/closure闭包
查看>>
30个免费资源:涵盖机器学习、深度学习、NLP及自动驾驶
查看>>
读zent源码库之Dialog组件实现
查看>>