rmi如何關(guān)閉服務(wù)?Namimg.unbind()做不到?要以編程方式啟動(dòng)RMI注冊(cè),可以使用locateregistry。createregistry (intport)方法,Javadoc如下:staticvoidunbind(Stringname)銷(xiāo)毀與遠(yuǎn)程對(duì)象關(guān)聯(lián)的指定名稱(chēng)的綁定。
RMI定義了一組可用于生成遠(yuǎn)程對(duì)象的遠(yuǎn)程接口??蛻?hù)端可以使用與本地對(duì)象的方法相同的語(yǔ)法來(lái)調(diào)用遠(yuǎn)程對(duì)象。RMIAPI提供的類(lèi)和方法可以處理訪問(wèn)遠(yuǎn)程方法的參數(shù)引用需求的基本通信和序列化。遠(yuǎn)程方法調(diào)用類(lèi)似于Sun公司在1985年提出的遠(yuǎn)程過(guò)程調(diào)用(RPC)。RPC也需要序列化參數(shù)和返回?cái)?shù)值數(shù)據(jù),但情況相對(duì)簡(jiǎn)單,因?yàn)椴簧婕皩?duì)象。
RPC和RMI的一個(gè)重要區(qū)別是,RPC使用快速而不可靠的UDP協(xié)議,而RMI使用慢速而可靠的TCP/IP協(xié)議。遠(yuǎn)程方法調(diào)用(RMI)和CORBA都是分布式計(jì)算技術(shù),分布式時(shí)各有優(yōu)缺點(diǎn)。為了幫助理解RMI的特點(diǎn)和用途,有必要討論一下CORBA和RMI之間的區(qū)別。CORBA(CommonObjectRequestBroker Architecture)是OMG的ObjectManagementArchitecture,是建立面向?qū)ο蠓植际较到y(tǒng)的標(biāo)準(zhǔn)。
Namimg.unbind()?Javadoc如下:staticvoidunbind(Stringname)銷(xiāo)毀與遠(yuǎn)程對(duì)象關(guān)聯(lián)的指定名稱(chēng)的綁定。要以編程方式啟動(dòng)RMI注冊(cè),可以使用locateregistry。createregistry (intport)方法。此方法返回由該類(lèi)型注冊(cè)的對(duì)象。當(dāng)您想要在應(yīng)用程序端終止此注冊(cè)時(shí),請(qǐng)保存此引用。
3、什么是 rmiRMI采用JRMP(JavaRemoteMethodProtocol)通信協(xié)議,這是一種基于TCP/IP協(xié)議的遠(yuǎn)程調(diào)用方法。什么是RMI分布式計(jì)算系統(tǒng)?運(yùn)行在不同地址空間和不同主機(jī)上的對(duì)象需要相互調(diào)用。各種分布式系統(tǒng)都有自己的調(diào)用協(xié)議,如CORBA的IIOP (Internet Interorb Protocol)和MTS的DCOM。
Java中提供了完整的socket通信接口,但是sockets需要客戶(hù)端和服務(wù)器端通過(guò)編寫(xiě)應(yīng)用層協(xié)議來(lái)交換數(shù)據(jù),所以采用sockets非常麻煩。替換套接字的一個(gè)協(xié)議是RPC(remoteprocumerecall),它抽象了過(guò)程調(diào)用的通信接口,使得程序員調(diào)用遠(yuǎn)程過(guò)程就像調(diào)用本地過(guò)程一樣方便,RPC系統(tǒng)使用XDR對(duì)遠(yuǎn)程調(diào)用的參數(shù)和返回值進(jìn)行編碼。