RMI
时间:2022-04-29
本文章向大家介绍RMI,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
RMI定义:
RMI即远程方法调用(Remote Method Invocation)。能够让在某个java虚拟机上的对象像调用本地对象一样调用另一个java 虚拟机中的对象上的方法。
RMI使用的是JRMP(Java Remote Messageing Protocol), JRMP是专门为java定制的通信协议,所以踏实纯java的分布式解决方案。
实现方式:
1. 创建远程接口, 并且继承java.rmi.Remote接口
2. 实现远程接口,并且继承:UnicastRemoteObject
3. 创建服务器程序: createRegistry方法注册远程对象
4. 创建客户端程序
实例:
public interface IPay extends Remote{
String pay()throws RemoteException;
}
public class PayService extends UnicastRemoteObject implements IPay{
private static final long serialVersionUID = -5725523341035516603L;
public PayService() throws RemoteException {
super();
}
@Override
public String pay()throws RemoteException {
return "支付成功,我们已通知卖家尽快为您发货!";
}
}
//测试
IPay pay = new PayService();
LocateRegistry.createRegistry(8080);
Naming.bind("rmi://localhost:8080/doPay", pay);
System.out.println("server start suc!");
//client
IPay pay = (IPay)Naming.lookup("rmi://127.0.0.1:8080/doPay");
System.out.println(pay.pay());
console:
支付成功,我们已通知卖家尽快为您发货!
- 【提莫】一个域名收集及枚举工具
- chmod: changing permissions of `/usr/local/bin/...
- a windows service with the name MYSQL already e...
- NameError: name 'admin' is not defined(彻底解决方案)
- Error: No module named blog
- ubuntu中的django安装配置与操作
- IOS开发之-搜索栏UISearchController详解
- java归并排序(最精简代码)
- java希尔排序(最精简代码)
- java插入排序(最精简代码)
- java快速排序(最精简代码)
- java选择排序(最精简代码)
- java冒泡排序(最精简代码)
- column 'id' in field list is ambiguous
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 隧道构建:端口转发的原理和实现
- SAP Spartacus注入自定义的CurrentProductService
- Redis系列(十一)redis命令全集
- Jinkens+gitlab针对k8s集群实现CI/CD
- Vue 踩过的坑
- Java TCP/UDP/HttpClient简例
- 让你设计实现一个签到功能,到底用MySQL还是Redis?
- 如何防止MySQL重复插入数据,这篇文章会告诉你
- Spring AOP注解开发
- 快速学习-Jenkins CLI凭据
- 快速学习-Jenkins CLI任务
- 珍惜数据,远离钓鱼
- Android Pie限制非 SDK 接口的调用
- 多线程基础(十一):interrupt深度分析
- [记录点滴]授人以渔,从Tensorflow找不到dll扩展到如何排查问题