Java远程调用

一、  概念:

  RMI全称是Remote Method Invocation-远程方法调用,其威力就体现在它强大的开发分布式网络应用的能力上,是纯Java的网络分布式应用系统的核心解决方案之一。它支持存储于不同地址空间的程序级对象之间彼此进行通信,实现远程对象的无缝远程调用。

二、原理:

方法调用从客户端对象经占位程序(Stub),远程引用层,和传输层向下传递给主机,然后再次经传输层,向上穿过远程调用层和骨干层,到达服务器对象。

占位程序扮演者远程服务器对象的代理角色,使该对象可被客户激活。远程引用层处理语义、管理单一或多重对象的通信,决定调用是应发往一个服务器还是多个。传输层管理实际的连接,并且追踪可以接受方法调用的远程对象。服务器端的骨干网完成对服务器对象实际的方法调用,并获取返回值。返回值向下经远程引用层、服务器端的传输层传递回客户端,再向上经传输层和远程调用层返回。最后,占位程序获得返回值。

时间: 2024-10-05 06:51:10

Java远程调用的相关文章

Java 远程调用之Hessian简例

1. [代码]1.服务接口(Hello.java) package server; public interface Hello { String hello(String name);}2. [代码]2.接口实现(HelloImpl.java) package server; public class HelloImpl implements Hello{ public String hello(String name) {    return "hello,"+name+"

java远程调用(rmi)常见的两个错误

java的 rmi远程调用给分布式编程带来极大的方便,在使用rmi过程中若遇到以下两个问题,可以尝试如下的解决方法 错误 1 : java.rmi.server.ExportException : remote object implements illegal remote interface; nested exception is : java.lang.IllegalArgumentException : illegal remote method encountered : , 解决方

分布式服务架构之java远程调用技术浅析

分布式服务架构之java远程调用技术浅析     在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI.MINA.ESB.Burlap.Hessian.SOAP.EJB和JMS等,这些名词之间到底是些什么关系呢,它们背后到底是基于什么原理实现的呢,了解这些是实现分布式服务框架的基础知识,而如果在性能上有高的要求的话,那深入了解这些技术背后的机制就是必须的了,在这篇blog中我们将来一探究竟,抛砖引玉,欢迎大家提供更多的实现远程通讯

Java[2] 分布式服务架构之java远程调用技术浅析(转http://www.uml.org.cn/zjjs/201208011.asp)

转自:http://www.uml.org.cn/zjjs/201208011.asp 在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI.MINA.ESB.Burlap.Hessian.SOAP.EJB和JMS等,这些名词之间到底是些什么关系呢,它们背后到底是基于什么原理实现的呢,了解这些是实现分布式服务框架的基础知识,而如果在性能上有高的要求的话,那深入了解这些技术背后的机制就是必须的了,在这篇blog中我们将来一探究竟,抛

java远程调用rmi入门实例

RMI是Java的一组拥护开发分布式应用程序的API.RMI使用Java语言接口定义了远程对象,它集合了Java序列化和Java远程方法协议(Java Remote Method Protocol).简单地说,这样使原先的程序在同一操作系统的方法调用.变成了不同操作系统之间程序的方法调用.因为J2EE是分布式程序平台.它以RMI机制实现程序组件在不同操作系统之间的通信. 比方,一个EJB能够通过RMI调用Web上还有一台机器上的EJB远程方法. 用例server端结构大概如此 首先定义要传送的实

java 远程调用 shell

import java.io.BufferedReader; import java.io.ByteArrayInputStream;import java.io.File;import java.io.FileOutputStream;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.nio.charset.Charset;import java

java 远程调用 RPC

1. 概念 RPC,全称为Remote Procedure Call,即远程过程调用,它是一个计算机通信协议.它允许像调用本地服务一样调用远程服务.它可以有不同的实现方式.如RMI(远程方法调用).Hessian.Http invoker等.RPC是与语言无关的.直观说法就是A通过网络调用B的过程方法.也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据. 1.首先要解决寻址的

java远程调用RMI

1.RMI RMI是个典型的为java定制的远程通信协议,我们都知道,在single vm中,我们可以通过直接调用java object instance来实现通信,那么在远程通信时,如果也能按照这种方式当然是最好了,这种远程通信的机制成为RPC(Remote Procedure Call),RMI正是朝着这个目标而诞生的. 来看下基于RMI的一次完整的远程通信过程的原理: 1. 客户端发起请求,请求转交至RMI客户端的stub类: 2. stub类将请求的接口.方法.参数等信息进行序列化: 3

【原】Java程序调用远程Shell脚本

此程序的目的是执行远程机器上的Shell脚本. [环境参数]远程机器IP:192.168.234.123用户名:root密码:rootShell脚本的路径:/home/IFileGenTool /BakProvisionAndOccurEntrance.sh [具体步骤]1.在远程机器上,准备Shell脚本.[[email protected] IFileGenTool]# vim ./load_data.sh 1 #!/bin/sh 2 source /etc/profile 3 dbName