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:
支付成功,我们已通知卖家尽快为您发货!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏林欣哲

单元测试JUnit4 知识点速查

JUnit4的变化 JUnit4的测试类不再需要继承测试类。 只要用了@Test注解,方法名不再需要test开头 直接IDE支持用JUnit测试。 测试用例的目...

3428
来自专栏平凡文摘

面试问烂的 Spring AOP 原理、SpringMVC 过程

Spring AOP ,SpringMVC ,这两个应该是国内面试必问题,网上有很多答案,其实背背就可以。但今天笔者带大家一起深入浅出源码,看看他的原理。以期让...

1172
来自专栏C/C++基础

CMake简介及使用实例

CMake是一个跨平台的建构系统的工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的构建文档makefile或者project文件,描...

1452
来自专栏xingoo, 一个梦想做发明家的程序员

C/C++ 遇到0xcccccccc访问冲突

最近一直在纠结这个问题. ? 最近写代码,总是遇到这个问题,一旦遇到这个问题,以前好使的代码也就不好使了。很费解,上网搜集了下资料.... 这个0xcccccc...

2197
来自专栏SDNLAB

OpenDaylight Carbon二次开发实用指南

通过本文你将知道: Maven Archetype的基本原理以及如何使用Maven Archetype生成适用于不同版本的ODL子项目。 本文将着重讲解cli命...

43215
来自专栏Android 研究

Android系统启动——4 zyogte进程 (C篇)

我们大家都是知道"一鼎三足"和"三角形的稳定性",那么支撑Android系统的三个"足"是什么?即init进程、SystemServer进程和Zygote进程。...

2381
来自专栏玩转JavaEE

Spring Cloud中Hystrix的服务降级与异常处理

上篇文章我们看了自定义Hystrix请求命令的问题,使小伙伴们对Hystrix的使用有了进一步的了解,之前两篇文章都有涉及到一个叫做fallbackMethod...

4194
来自专栏Ryan Miao

在dropwizard中使用feign,使用hystrix

前言 用惯了spring全家桶之后,试试dropwizard的Hello World也别有一帆风味。为了增强对外访问API的能力,需要引入open feign...

40112
来自专栏xdecode

Spring MVC核心技术

目录 异常处理 类型转换器 数据验证 文件上传与下载 拦截器 ----  异常处理 Spring MVC中, 系统的DAO, Service, Controll...

3277
来自专栏斑斓

Spray中的Authentication和JMeter测试

Spray Authentication 在Spray中,如果需要对REST API添加认证,可以使用Spray提供的Authenticate功能。本质上,Au...

3689

扫码关注云+社区