Java的RMI (java的random)

Java的RMI (java的random)

本文目录导航:

Java的RMI/FJB属于什么两边件?

1、Java RMI,即 远程方法调用(Remote Method Invocation),一种用于成功远程环节调用(RPC)(Remote procedure call)的Java API, 能间接传输序列化后的Java对象和散布式渣滓搜集。

它的成功依赖于Java虚构机(JVM),因此它仅支持从一个JVM到另一个JVM的调用。

2、应该是EJB吧,它是早与Spring之前的一个 EJB (Enterprise Java Beans) 是基于散布式事务解决的企业级运行程序的组件。

Sun公司颁布的文档中对EJB的定义是:EJB是用于开发和部署多层结构的、散布式的、面向对象的Java运行系统的跨平台的构件体系结构。

如满意,请采用!

网吧远程调用

一、Java中的远程方法调用 远程方法调用(Remote Method Invocation, RMI)是Java1.1引入的散布式对象软件包,它的发生简化了在多台机器上的Java运行之间的通讯。

相比CORBA,RMI配置较弱且只能用于Java系统。

二、成功一个便捷的RMI 要经常使用RMI,必定结构四个重要的类:远程对象的本地接口、RMI客户、远程对象成功和RMI主机。

RMI主机生成远程对象成功的一个实例,并用一个不凡的URL注册它,RMI客户在远程主机上查找对象,若找到就把它转换老本地接口类型,而后像一个本地对象一样经常使用它。

上方是一个便捷的RMI例子,远程对象只前往一个信息字符串。

要使这个例子更有价值,咱们须要做的就是完善远程对象成功类。

1.远程对象的本地接口类() 该类仅仅是一个接口,而不是成功,RMI客户机可以间接经常使用它,RMI主机必定经过一个远程对象来成功它,并用某个URL注册它的一个实例。

import .*; public interface Rem extends Remote { public String getMessage() throws RemoteException;} 本地接口(Rem)必定是公共的,否则客户机在加载一个成功该接口的远程对象时就会出错。

此外,它还必定从承袭而来,接口中的每一个方法都必定抛出远程意外。

客户类() RMI客户经常使用在指定的远程主机上查找对象,若找到就把它转换老本地接口Rem类型,而后像一个本地对象一样经常使用它。

与CORBA不同之处在于RMI客户必定知道提供远程服务主机的URL,这个URL可以经过rmi://host/path或rmi://host:port/path来指定,假设省略端口号,就经常使用1099。

或者发生三个意外:RemoteException、NotBoundException、MalformedURLException,三个寻常都须要捕捉。

RemoteException、Naming和NotBoundException在.*中定义,MalformedURLException在.*中定义。

另外,客户机将向远程对象传递串行化对象Serializable,所以还应在程序中输入.*。

import .*; import .*; import .*; public class RemClient { public static void main(String[] args) { try { String host = ( > 0) ? args[0] : localhost; file://从命令行读取远程主机名 file://经过URL在远程主机上查找对象,并把它转化为本地接口Rem类型 Rem remObject=(Rem)(rmi:// + host + /Rem); (()); file://调用远程对象的方法 } catch(RemoteException re) {(RemoteException: + re); <br/><br/>} catch(NotBoundException nbe) {(NotBoundException: + nbe); <br/><br/>} catch(MalformedURLException mfe){(MalformedURLException:+ mfe); <br/><br/>}}} 3.远程对象成功类() 这个类真正成功RMI客户调用的远程对象,它必定从UnicastRemoteObject承袭,其结构函数应抛出RemoteException意外。

import .*; import ; public class RemImpl extends UnicastRemoteObject implements Rem { public RemImpl() throws RemoteException {} file://结构函数抛出RemoteException意外 public String getMessage() throws RemoteException { return(Here is a remote message.); }} file://向RMI客户前往一个信息串 主机类() 该类创立远程对象成功RemImpl的一个实例,而后用一个特定的URL来注册它,所谓注册就是经过或来将RemImpl实例绑定到URL上。

import .*; import .*; public class RemServer { public static void main(String[] args) { try { RemImpl localObject = new RemImpl(); file://生成远程对象成功的一个实例 (rmi:///Rem, localObject); file://将远程对象实例绑定到rmi:///Rem上 }catch(RemoteException re){(RemoteException:+re); <br/><br/>}catch(MalformedURLException mfe) {(MalformedURLException: +mfe); <br/><br/>}}} 三、编译和运转 1.如何在Java中成功远程方法调用(1) 2.如何在Java中成功远程方法调用(2) 编译RMI客户和主机,这将智能编译远程对象的本地接口和远程对象成功 Javac file://智能编译远程对象的本地接口 Javac file://智能编译远程对象成功 2. 生成客户承接模块和主机框架 rmic RemImpl 这将结构RemImpl_和RemImpl_。

请将、和RemImpl_拷贝到RMI客户机,将、 、和RemImpl_拷贝到RMI主机。

3. 启动RMI注册 rmiregistry file://在主机上口头。

不论有多少个远程对象,本操作只有做一次性 4. 运转 Java file://启动RMI主机(在主机上口头) Java file://启动RMI客户,将输入“Here is a remote message.”

两边件有多种类型,Java的RMI FJB 属于()两边件。

【答案】:B理论将两边件分为数据库访问两边件、远程环节 调用两边件、面向信息两边件、事务两边件、散布式对象两边件等。

(1)数据库访问两边件:经过一个形象层访问数据库,从而准许经常使用相反或相似的 代码访问不同的数据库资源。

典型技术如Windows平台的ODBC和Java平台的JDBC等。

(2)远程环节调用两边件(Remote Procedure Call,RPC):是一种散布式运行程序 的解决方法。

一个运行程序可以经常使用RPC来“远程”口头一个位于不同地址空间内的过 程,从成果上看和口头本地调用相反。

一个RPC运行分为主机和客户两个局部。

主机提供一个或多个远程操作环节; 客户向主机收回远程调用。

主机和客户可以位于同一台计算机,也可以位于不同的 计算机,甚至可以运转在不同的操作系统之上。

客户和主机之间的网络通讯和数据转 换经过代理程序(Stub与Skeleton)成功,从而屏蔽了不同的操作系统和网络协定。

(3)面向信息两边件(Message-OrientedMiddleware,MOM):应用高效牢靠的信息 传递机制启动平台有关的数据传递,并可基于数据通讯启动散布系统的集成。

经过提供 信息传递和信息队列模型,可在散布环境下裁减进程间的通讯,并支持多种通讯协定、 言语、运行程序、配件和软件平台。

典型产品如IBM的MQSeries。

(4)散布式对象两边件:是建设对象之间客户/主机相关的两边件,联合了对象技 术与散布式计算技术。

该技术提供了一个通讯框:架,可以在异构散布计算环境中透明_ 传递对象恳求。

典型产品如OMG的CORBA、Java的RMI/FJB、Microsoft的DCOM[等。

(5)事务两边件:也称事务解决监控器(Transaction Processing Monitor, TPM),提供特大规模事务解决的牢靠运转环境。

TPM位于客户和主机之间,成功事务治理与 调、负载平衡、失效复原等义务,以提高系统的全体性能。

典型产品如IBM/BEA的 Tuxedo联合对象技术的对象事务监控器(object Transaction Monitor, OTM)如支持 EJB的JavaEE运行主机等。

你可能想看:
« 上一篇
下一篇 »

相关推荐

java中什么是冒泡,冒泡算法

2026年09月06日

27阅读

java中冒号,java双冒号

2026年09月06日

26阅读

java中的->,java中的是什么意思

2026年09月06日

24阅读

java中的super用法,Java中super的说明

2026年09月06日

28阅读

java中反射的应用,java中反射的应用场景

2026年09月06日

25阅读

java中开关的定义,Java关键字有哪些

2026年09月06日

25阅读