美文网首页IT修真院_JAVA
什么是rmi,为什么使用

什么是rmi,为什么使用

作者: 最不闪亮的那颗星 | 来源:发表于2017-12-07 17:06 被阅读0次

一、背景介绍

RMI是Java的一组拥护开发分布式应用程序的API。RMI使用Java语言接口定义了远程对象,它集合了Java序列化和Java远程方法协议(Java Remote Method Protocol)。

Java远程方法协议(英语:Java Remote Method Protocol,JRMP)是特定于Java技术的、用于查找和引用远程对象的协议。这是运行在Java远程方法调用(RMI)之下、TCP/IP之上的线路层协议

RMI技术早在JDK1.1中就出现了,并且在JDK1.5版本做了重大改进,使得我们可以更加简单的使用RMI技术来支持分布式应用。关于详细的技术变更历史,可以参见官方的 Java RMI release Note。

通过RMI技术,本地虚拟机JVM可以调用存在于另外一个JVM中的对象方法,就好像该虚拟机调用存在于本地JVM的某个对象方法一样。而另外一个JVM可以与本地JVM在同一台物理机,也可以属于不同的物理机。

常见的可以实现远程调用的技术还包括了 RPC,CORBA,Web Service,这里不一一介绍,需要了解的同学可以 google,以下只关注 RMI 这个只针对 Java 语言的远程调用技术的一些阐述。

二、知识剖析

( 1 ) RMI 注册表(参见 LocateRegistry 类)

*为了使得客户端能够查找到服务端对外提供的远程对象,RMI需要维护一个RMI注册表,该注册表维护了对于客户端而言的远程对象位置,对外提供了服务,服务端需要将要外提供服务的对象的代理绑定到RMI注册表中。

*RMI注册表可以跟服务端不在一台主机上。

*RMI注册表的启动有两种方式:一种是通过命令行 rmiregistry $port 在命令行启动;另外一种是通过 LocateRegistry 类的 createRegistry(int port) 方法启动。

(2)

客户端查找远程对象,服务端注册远程对象的多样性

也许在网上查看各种RMI示例代码时我们常常发现客户端查找远程对象,服务端注册远程对象使用的代码都不尽相同,我在学习过程中见到的有三种途径:

LocateRegistry 类的对象的 rebind() 和 lookup() 来实现绑定注册和查找远程对象的

利用命名服务 java.rmi.Naming 类的 rebind() 和 lookup() 来实现绑定注册和查找远程对象的

( 3 )

利用JNDI(Java Naming and Directory Interface,Java命名和目录接口) java.naming.InitialContext 类来 rebind() 和 lookup() 来实现绑定注册和查找远程对象的

三、

Spring RMI一开始看网上的资料感觉很简单,但一次一次的失败告诉我,那不简单

提问与回答

笑然:rmi 服务端不指定端口 怎么样

答:不指定会使用默认的1099

程远:rmi 怎么在service做负载均衡

答:配置权

明达:可以通过spring对rmi更加简化么。

可以将rmi的xml文件集成到spring里面

IT修真院

“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。

这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。快来与我一起学习吧 !

师兄带你入门!

相关文章

  • 什么是rmi,为什么使用

    一、背景介绍 RMI是Java的一组拥护开发分布式应用程序的API。RMI使用Java语言接口定义了远程对象,它集...

  • 什么是rmi?为什么要使用rmi框架?

    大家好,我是IT修真院北京分院第31期的学员,一枚正直纯洁善良的JAVA程序员。今天给大家分享一下,修真...

  • 什么是RMI?为什么要使用RMI框架?

    大家好,我是IT修真院深圳分院第5期学员,一枚正直善良的JAVA程序员。 今天给大家分享一下,修真院官网JAVA任...

  • Java RMI服务搭建

    什么是RMI? RMI:远程方法调用(Remote Method Invocation)。 如何建立RMI服务? ...

  • 关于RPC

    1.RMI RMI(Remote Method Invocation,远程方法调用),RMI使用Java语言接口定...

  • 【程序员笔记】RMI使用笔记

    本文章共分为三部分 RMI简介 RMI原理 RMI使用 RMI实战 下面详细介绍 一 RMI简介 远程方法调用(R...

  • 分布式通信框架 - rmi

    1)什么是rmi 2)简单的实现rmi 3)rmi原理 4)手写rmi框架 进群:697699179可以获取Jav...

  • java之RMI

    什么是RMI The Java Remote Method Invocation (RMI) system all...

  • RMI使用

    注意事项 1.服务接口要继承java.rmi.Remote接口,声明方法必须 throwsjava.rmi.Rem...

  • 什么是RMI 协议,Java中如何实现

    原文:什么是RMI 协议,Java中如何实现 - RelaxHeart网Tec博客 听故事,引入RMI 在了解什么...

网友评论

    本文标题:什么是rmi,为什么使用

    本文链接:https://www.haomeiwen.com/subject/fyhjixtx.html