Java RMI详解

转自:

Java RMI详解

下文笔者讲述RMI详解说明,如下所示

Java RMI简介说明

 Java远程方法调用
  即Java RMI(Java Remote Method Invocation)是Java编程语言里
  一种用于实现远程过程调用的应用程序编程接口

当客户机上运行的程序可以调用远程服务器上的对象
  远程方法调用特性使Java编程人员能够在网络环境中分布操作
  RMI的功能:
    简化远程接口对象的使用
    RMI远程方法调用:可使用虚拟机对象调用运行另一个虚拟机上对象的方法

JavaRMI包含内容

1、远程服务的接口定义
2、远程服务接口的具体实现
3、桩(Stub)和框架(Skeleton)文件
4、一个运行远程服务的服务器
5、一个RMI命名服务,它允许客户端去发现这个远程服务
6、类文件的提供者(一个HTTP或者FTP服务器)
7、一个需要这个远程服务的客户端程序

采用以上信息可实现RMI的远程调用

RMI的用途

为分布式Java应用程序之间的远程通信提供服务
  提供分布式服务

例:
在Spring中实现RMI:

 1.在服务器端定义服务的接口,定义特定的类实现这些接口
 2.在服务器端使用org.springframework.remoting.rmi.RmiServiceExporter类来注册服务
 3.在客户端使用org.springframework.remoting.rmi.RmiProxyFactoryBean来实现远程服务的代理功能
 4.在客户端定义访问与服务器端服务接口相同的类

RMI局限性

RMI目前使用Java远程消息交换协议JRMP(Java Remote Messaging Protocol)进行通信
 JRMP是专为Java的远程对象制定的协议
  由于JRMP是专为Java对象制定的
  因此 RMI对于用非Java语言开发的应用系统的支持不足

不能与用非Java语言书写的对象进行通信(只支持客户端和服务器端都是Java程序的代码的远程调用)

RMI调用远程方法的参数和返回值

当调用远程对象上的方法时
  客户机除了可以将原始类型的数据作为参数一外
   还可以将对象作为参数来传递
   与之相对应的是返回值
  可以返回原始类型或对象
   这些都是通过Java的对象序列化(serialization)技术来实现
  

RMI体系结构

桩/框架(Stub/Skeleton)层:客户端的桩和服务器端的框架;

远程引用(remote reference)层:处理远程引用行为

传送层(transport):连接的建立和管理ÿ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值