国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
第 6 章
注冊服務(wù)程序接口
---------------------------------------------------------------------
----------
第 6 章
RMI 系統(tǒng)使用 java.rmi.registry.Registry 接口和 java.rmi.registry.Locat
eRegistry 類來為按名字檢索和注冊對象提供眾所周知的自舉服務(wù)。
registry 是一種將名字映射到遠程對象的遠程對象。所有的服務(wù)器進程都支持自
己的注冊服務(wù)程序或能為主機所用的單個注冊服務(wù)程序。
LocateRegistry 方法用于使注冊服務(wù)程序在特定的主機中或主機與端口中運行起
來。java.rmi.Naming 類方法用于調(diào)用一個遠程對象,該對象使用恰當?shù)?Locat
eRegistry.getRegistry 方法來實現(xiàn) Registry 接口。
主題:
Registry 接口
LocateRegistry 類
RegistryHandler 接口
6.1 Registry 接口
java.rmi.registry.Registry 遠程接口可為查詢、綁定、再綁定、取消綁定和列
出注冊服務(wù)程序內(nèi)容提供方法。java.rmi.Naming 類用 registry 遠程接口提供
基于 URL 的命名。
package java.rmi.registry;
public interface Registry extends java.rmi.Remote {
public static final int REGISTRY_PORT = 1099;
public java.rmi.Remote lookup(String name)
throws java.rmi.RemoteException,
java.rmi.NotBoundException, java.rmi.AccessException;
public void bind(String name, java.rmi.Remote obj)
throws java.rmi.RemoteException,
java.rmi.AlreadyBoundException, java.rmi.AccessException;
public void rebind(String name, java.rmi.Remote obj)
throws java.rmi.RemoteException, java.rmi.AccessException;
public void unbind(String name)
throws java.rmi.RemoteException,
java.rmi.NotBoundException, java.rmi.AccessException;
public String[] list()
throws java.rmi.RemoteException, java.rmi.AccessException;
}

REGISTRY_PORT 是注冊服務(wù)程序的缺省端口。
lookup 方法返回綁定到指定 name 的遠程對象,而遠程對象則實現(xiàn)一組遠程接口
??蛻魴C可將遠程對象強制轉(zhuǎn)換為所期望的遠程接口類型(該強制類型轉(zhuǎn)換可能
以它在 Java 語言中的常見失敗方式而失?。?
bind 方法將 name 與遠程對象 obj 相關(guān)聯(lián)。如果名字已綁定到某一對象上,則
拋出 AlreadyBoundExcepton。
rebind 方法將 name 與遠程對象 obj 相關(guān)聯(lián)。該名字以前的所有綁定均將被丟
棄。
unbind 方法刪除 name 和遠程對象 obj 之間的綁定。如果名字并未綁定到某一
對象上,則拋出 NotBoundException。
list 方法返回一個 Strings 數(shù)組,其中包含注冊服務(wù)程序中所綁名字的快照。
該返回值含有注冊服務(wù)程序內(nèi)容的快照。
客戶機可以使用 LocateRegistry 和 Registry 接口或基于 URL 的 java.rmi.N
aming 類的方法來訪問注冊服務(wù)程序。該注冊服務(wù)程序僅支持與服務(wù)器位于同一
主機的客戶機的 bind、unbind 和 rebind。所有主機均可進行查詢操作。
.2 LocateRegistry 類
java.rmi.registry.LocateRegistry 類用來獲得對特定主機(包括本地主機)的
引導(dǎo)遠程對象注冊服務(wù)程序的引用(創(chuàng)建 stub),或者創(chuàng)建能在特定端口接受調(diào)
用的遠程對象注冊服務(wù)程序。
注冊服務(wù)程序?qū)崿F(xiàn)將遠程對象名(字符串)與遠程對象引用相關(guān)聯(lián)的簡單命名語
法。服務(wù)器重新啟動不會記住這些名字和遠程對象之間的綁定。
注意,getRegistry 調(diào)用并不真正與遠程主機連接。它只簡單地建立了對遠程注
冊服務(wù)程序的本地引用,且即使遠程主機中沒有注冊服務(wù)程序運行也將獲得成功
。因此,對于該方法作為返回值返回的遠程注冊服務(wù)程序進行進一步的方法調(diào)用
時,可能會導(dǎo)致失敗。
package java.rmi.registry;
public final class LocateRegistry
{
public static Registry getRegistry()
throws java.rmi.RemoteException;
public static Registry getRegistry(int port)
throws java.rmi.RemoteException;
public static Registry getRegistry(String host)
throws java.rmi.RemoteException;
public static Registry getRegistry(String host, int port)
throws java.rmi.RemoteException;
public static Registry getRegistry(String host, int port,
RMIClientSocketFactory csf)
throws RemoteException;
public static Registry createRegistry(int port)
throws java.rmi.RemoteException;
public static Registry createRegistry(int port,
RMIClientSocketFactory csf,
RMIServerSocketFactory ssf)
throws RemoteException;
}
前四個 getRegistry 方法返回對當前主機、指定 port 的當前主機、指定的 ho
st 或指定 host 的特定 port 的注冊服務(wù)程序引用。所返回的是帶有指定主機和
端口信息的注冊服務(wù)程序的遠程 stub。
第五個 getRegistry 方法(將 RMIClientSocketFactory 作為參數(shù))返回本地創(chuàng)
建的遠程 stub,它對應(yīng)于指定 host 和 port 上的遠程對象 Registry。與用該
方法構(gòu)造 stub 的遠程注冊服務(wù)程序進行通信時,將使用所提供的 RMIClientSo
cketFactory、csf 來創(chuàng)建到遠程主機和端口的注冊服務(wù)程序的 Socket 連接。
----------------------------------------------------------------------
----------
注意 - 從 getRegistry 方法返回的注冊服務(wù)程序是含有已知對象標識符的專門
構(gòu)造的 stub。目前仍不支持將注冊服務(wù)程序 stub 從一個虛擬機傳給另一個虛擬
機(其有效性將取決于實現(xiàn))。使用 LocateRegistry.getRegistry 方法可以獲
得主機的相應(yīng)注冊服務(wù)程序。

----------------------------------------------------------------------
----------
createRegistry 方法創(chuàng)建和導(dǎo)出特定 port 的本地主機的注冊服務(wù)程序。
第二種 createRegistry 方法在與注冊服務(wù)程序通信時更富有靈活性。該調(diào)用將
在本地主機中創(chuàng)建和導(dǎo)出 Registry,本地主機使用自定義套接字工廠用于與注冊
服務(wù)程序的通信。所創(chuàng)建的注冊服務(wù)程序在給定的 port 上使用從 RMIServerSo
cketFactory 所創(chuàng)建的 ServerSocket 監(jiān)聽到來請求。接收到注冊服務(wù)程序引用
的客戶機將使用從 RMIClientSocketFactory 所創(chuàng)建的 Socket。

----------------------------------------------------------------------
----------
注意 - 使用 createRegistry 方法啟動注冊服務(wù)程序不能保持服務(wù)器進程的活動
性。

6.3 RegistryHandler 接口
----------------------------------------------------------------------
----------
注意 - JDK1.2 中不鼓勵使用 RegistryHandler 接口。JDK1.1 中,它僅由 RMI
實現(xiàn)在內(nèi)部使用,而不能用于應(yīng)用程序。

----------------------------------------------------------------------
----------
package java.rmi.registry;
public interface RegistryHandler
{
Registry registryStub(String host, int port)
throws java.rmi.RemoteException, java.rmi.UnknownHostException;
Registry registryImpl(int port) throws java.rmi.RemoteException;
}
方法 registryStub 返回一個與位于指定主機和端口的遠程注冊服務(wù)程序進行聯(lián)
系的 stub。
方法 registryImpl 將構(gòu)造并導(dǎo)出位于指定的端口的注冊服務(wù)程序。端口必須為
非零。
 
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Java分布式處理技術(shù)(RMI,JDNI)
Java RMI基礎(chǔ)
Java RMI 入門
rmi(Remote Method Invocation ) 學(xué)習(xí) - what's j...
漫談EJB(1)
Java遠程方法調(diào)用(2)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服