<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    無為

    無為則可為,無為則至深!

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      190 Posts :: 291 Stories :: 258 Comments :: 0 Trackbacks
    RMI 系統使用 java.rmi.registry.Registry 接口和 java.rmi.registry.Locat 
    eRegistry 類來為按名字檢索和注冊對象提供眾所周知的自舉服務。  

    registry 是一種將名字映射到遠程對象的遠程對象。所有的服務器進程都支持自 
    己的注冊服務程序或能為主機所用的單個注冊服務程序。 

    LocateRegistry 方法用于使注冊服務程序在特定的主機中或主機與端口中運行起 
    來。java.rmi.Naming 類方法用于調用一個遠程對象,該對象使用恰當的 Locat 
    eRegistry.getRegistry 方法來實現 Registry 接口。 

    主題:  
    Registry 接口  
    LocateRegistry 類  
    RegistryHandler 接口  

    6.1 Registry 接口  
    java.rmi.registry.Registry 遠程接口可為查詢、綁定、再綁定、取消綁定和列 
    出注冊服務程序內容提供方法。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 是注冊服務程序的缺省端口。 

    lookup 方法返回綁定到指定 name 的遠程對象,而遠程對象則實現一組遠程接口 
    。客戶機可將遠程對象強制轉換為所期望的遠程接口類型(該強制類型轉換可能 
    以它在 Java 語言中的常見失敗方式而失敗)。 

    bind 方法將 name 與遠程對象 obj 相關聯。如果名字已綁定到某一對象上,則 
    拋出 AlreadyBoundExcepton。 
    rebind 方法將 name 與遠程對象 obj 相關聯。該名字以前的所有綁定均將被丟 
    棄。 
    unbind 方法刪除 name 和遠程對象 obj 之間的綁定。如果名字并未綁定到某一 
    對象上,則拋出 NotBoundException。 

    list 方法返回一個 Strings 數組,其中包含注冊服務程序中所綁名字的快照。 
    該返回值含有注冊服務程序內容的快照。 
    客戶機可以使用 LocateRegistry 和 Registry 接口或基于 URL 的 java.rmi.N 
    aming 類的方法來訪問注冊服務程序。該注冊服務程序僅支持與服務器位于同一 
    主機的客戶機的 bind、unbind 和 rebind。所有主機均可進行查詢操作。 

    .2 LocateRegistry 類 
    java.rmi.registry.LocateRegistry 類用來獲得對特定主機(包括本地主機)的 
    引導遠程對象注冊服務程序的引用(創建 stub),或者創建能在特定端口接受調 
    用的遠程對象注冊服務程序。 

    注冊服務程序實現將遠程對象名(字符串)與遠程對象引用相關聯的簡單命名語 
    法。服務器重新啟動不會記住這些名字和遠程對象之間的綁定。 

    注意,getRegistry 調用并不真正與遠程主機連接。它只簡單地建立了對遠程注 
    冊服務程序的本地引用,且即使遠程主機中沒有注冊服務程序運行也將獲得成功 
    。因此,對于該方法作為返回值返回的遠程注冊服務程序進行進一步的方法調用 
    時,可能會導致失敗。 

    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 的注冊服務程序引用。所返回的是帶有指定主機和 
    端口信息的注冊服務程序的遠程 stub。 

    第五個 getRegistry 方法(將 RMIClientSocketFactory 作為參數)返回本地創 
    建的遠程 stub,它對應于指定 host 和 port 上的遠程對象 Registry。與用該 
    方法構造 stub 的遠程注冊服務程序進行通信時,將使用所提供的 RMIClientSo 
    cketFactory、csf 來創建到遠程主機和端口的注冊服務程序的 Socket 連接。 

    ---------------------------------------------------------------------- 
    ---------- 

    注意 - 從 getRegistry 方法返回的注冊服務程序是含有已知對象標識符的專門 
    構造的 stub。目前仍不支持將注冊服務程序 stub 從一個虛擬機傳給另一個虛擬 
    機(其有效性將取決于實現)。使用 LocateRegistry.getRegistry 方法可以獲 
    得主機的相應注冊服務程序。  


    ---------------------------------------------------------------------- 
    ---------- 

    createRegistry 方法創建和導出特定 port 的本地主機的注冊服務程序。  

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


    ---------------------------------------------------------------------- 
    ---------- 

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


    6.3 RegistryHandler 接口  

    ---------------------------------------------------------------------- 
    ---------- 

    注意 - JDK1.2 中不鼓勵使用 RegistryHandler 接口。JDK1.1 中,它僅由 RMI 
     實現在內部使用,而不能用于應用程序。  


    ---------------------------------------------------------------------- 
    ---------- 

    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 返回一個與位于指定主機和端口的遠程注冊服務程序進行聯 
    系的 stub。 

    方法 registryImpl 將構造并導出位于指定的端口的注冊服務程序。端口必須為 
    非零。

    凡是有該標志的文章,都是該blog博主Caoer(草兒)原創,凡是索引、收藏
    、轉載請注明來處和原文作者。非常感謝。

    posted on 2005-12-14 13:14 草兒 閱讀(128) 評論(0)  編輯  收藏 所屬分類: Java編程經驗談
    主站蜘蛛池模板: 美女被免费喷白浆视频| 免费真实播放国产乱子伦| 亚洲卡一卡二卡乱码新区| 亚洲精品国产高清嫩草影院| 国产婷婷成人久久Av免费高清 | 99久久精品毛片免费播放| 久久香蕉国产线看观看亚洲片| 天天影院成人免费观看| 男男gay做爽爽免费视频| 亚洲激情在线观看| 国产小视频在线观看免费| 久久成人免费电影| 久久久久久久久无码精品亚洲日韩| 在线亚洲精品福利网址导航| 97在线观免费视频观看| 97在线视频免费公开视频| 在线观看亚洲AV每日更新无码| 老司机亚洲精品影视www| 2021国产精品成人免费视频| 一个人看的www免费在线视频| 亚洲第一永久在线观看| 在线观看国产区亚洲一区成人| 2020久久精品国产免费| 97无码人妻福利免费公开在线视频| 国产成人精品日本亚洲网址| 亚洲国产精彩中文乱码AV| 国产伦精品一区二区三区免费下载 | 美女的胸又黄又www网站免费| 免费A级毛片无码久久版| 18禁黄网站禁片免费观看不卡| 亚洲乱码国产乱码精华| 亚洲黄色免费观看| 亚洲精品少妇30p| 又黄又爽无遮挡免费视频| 99精品全国免费观看视频| 13一14周岁毛片免费| 免费看黄的成人APP| 免费VA在线观看无码| 亚洲欧美日韩综合久久久久| 亚洲国产成人综合| 久久亚洲AV成人无码国产|