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