普通方法实现——远程方法调用RMI代码演示
1、spring_RMI01_server服务端
package com.wisezone.service; import java.rmi.Remote;
import java.rmi.RemoteException; public interface IHelloService extends Remote { public String sayHello(String msg) throws RemoteException;
}
package com.wisezone.service.impl; import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject; import com.wisezone.service.IHelloService; public class HelloServiceImpl extends UnicastRemoteObject implements IHelloService{ /**
*
*/
private static final long serialVersionUID = -4174742054186163053L; public HelloServiceImpl() throws RemoteException { } @Override
public String sayHello(String msg) throws RemoteException { System.out.println("服务端接受消息:"+msg);
return "hello,"+msg;
} }
package com.wisezone.test; import java.net.MalformedURLException;
import java.rmi.AlreadyBoundException;
import java.rmi.Naming;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry; import com.wisezone.service.impl.HelloServiceImpl; /**
* 发布顺序:先发布服务端,再发布客户端
* @author 王东海
* @2017年5月1日
*/
public class Publish { public static void main(String[] args) throws RemoteException, MalformedURLException, AlreadyBoundException { //设置端口
LocateRegistry.createRegistry(8888);
Naming.bind("rmi://127.0.0.1:8888/hello", new HelloServiceImpl());
System.out.println("发布成功。。。");
}
}
2、spring_RMI01_client客户端
package com.wisezone.service; import java.rmi.Remote;
import java.rmi.RemoteException; public interface IHelloService extends Remote { public String sayHello(String msg) throws RemoteException;
}
package com.wisezone.test; import java.net.MalformedURLException;
import java.rmi.Naming;
import java.rmi.NotBoundException;
import java.rmi.RemoteException; import com.wisezone.service.IHelloService; public class Test { public static void main(String[] args) throws MalformedURLException, RemoteException, NotBoundException {
IHelloService helloService = (IHelloService) Naming.lookup("rmi://127.0.0.1:8888/hello");
System.out.println("客户端接受消息:"+helloService.sayHello("This is 5月1号劳动节"));
}
}
发布顺序:先发布服务端,再发布客户端
结果:


普通方法实现——远程方法调用RMI代码演示的更多相关文章
- Spring框架实现——远程方法调用RMI代码演示
1.spring_RMI02_server服务端02 <?xml version="1.0" encoding="UTF-8"?> <bean ...
- 远程服务调用RMI框架 演示,和底层原理解析
远程服务调用RMI框架: 是纯java写的, 只支持java服务之间的远程调用,很简单, // 接口要继承 Remote接口 public interface IHelloService extend ...
- Java RMI 远程方法调用
Java RMI 指的是远程方法调用 (Remote Method Invocation).它是一种机制,能够让在某个 Java 虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法.可以用此方 ...
- SpringBoot里使用RMI进行远程方法调用
一.Java RMI定义 Java RMI:Java远程方法调用,即Java RMI(Java Remote Method Invocation)是Java编程语言里,一种用于实现远程过程调用的应用程 ...
- RMI远程方法调用
RMI远程方法调用:适用于 客户端 调用 服务器 内的方法:(Kotlin 语言编写) 如果业务为二个服务器之间的通信,还是得用消息队列的形式,因为RMI 不适合 双向 调用 下面介绍RMI 的使用方 ...
- Java APi 之 RMI远程方法调用
一.什么是RPC RPC全称是remote procedure call,即远程过程调用.它是一种协议,用于从远程计算机上请求服务. 例如有两台服务器A和B,A上的应用想要调用B上应用的方法,但是他们 ...
- Java RMI远程方法调用
RMI(远程接口调用) 1. RMI的原理: RMI系统结构,在客户端和服务器端都有几层结构. 方法调用从客户对象经占位程序(Stub).远程引用层(Remote Reference Layer)和传 ...
- 简单实现Java的RMI——远程方法调用
一.RMI简介: 说到RMI就不得不说RPC了. RPC:(Remote Procedure Call),远程过程调用. RMI(Remote Method Invocation),远程方法调用. R ...
- 【Java Web开发学习】远程方法调用RMI
Java RMI 远程方法调用Remote Method Invocation 转载:http://www.cnblogs.com/yangchongxing/p/9078061.html 1.创建远 ...
随机推荐
- 在C#中动态编译T4模板代码
转: http://www.wxzzz.com/1438.html 资料: https://cnsmartcodegenerator.codeplex.com/SourceControl/latest ...
- python之路 内置函数,装饰器
一.内置函数 #绝对值 abs() #所有值都为真才为真 all() #只要有一个值为真就为真 any() #10进制转成二进制 bin() #10进制转成八进制 oct() #10进制转成十六进制 ...
- Linux Shell基础 多个命令中的分号(;)、与(&&) 、 或(||)
概述 在 Bash 中,如果需要让多条命令按顺序执行,则有这样方法,如表 1 所示. 多命令执行符 格 式 作 用 : 命令1 ; 命令2 多条命令顺序执行,命令之间没有任何逻辑关系 &&am ...
- 恢复性训练day1
DP: 0/1背包一个常见的错误是没有cmax(f[i][j],f[i-1][j]) 0/1背包的拓展中有转移式的变形,以及无限数量背包,分组背包等. 可化为背包问题的一般不会太难. 数组开小,出现大 ...
- VMware ESXI 6.5安装教程
设置从IPMI Virtual Disk 3000启动,出现如下界面: 默认选择第一项,回车安装 安装程序正在检测服务器硬件信息,如果不满足系统安装条件会跳出错误提示. 检测完成之后会出现下面界面 回 ...
- java JSON 序列化类(List<Object> 转String)
import com.alibaba.fastjson.JSONObject; import com.google.common.base.Preconditions; import com.goog ...
- 并发Socket程序设计
1. 非阻塞并发模型 直接将socket设置为非阻塞, 轮询处理连接和接收. 缺点: 极大消耗CPU资源,不适合实际应用. 2. 信号驱动模型 当Socket文件描述符准备就绪后 内核会给进程发送一个 ...
- MATLAB中feval与eval的区别
feval函数有两种调用形式1.[y1, y2, ...] = feval(fhandle, x1, ..., xn)2.[y1, y2, ...] = feval(fname, x1, ..., x ...
- review39
不可以在非同步方法中使用wait().notify()和notifyAll().
- 智课雅思词汇---十八、前缀peri是什么意思
智课雅思词汇---十八.前缀peri是什么意思 一.总结 一句话总结:前缀:peri- 表示“周围, 靠近” 词根:-peri- [词根含义]:试验,尝试 [词根来源]:英语experience, e ...