JavaTM 2 Platform
Standard Ed. 6

類別 java.rmi.RemoteException
的使用

使用 RemoteException 的軟體套件
java.rmi 提供 RMI 套件。 
java.rmi.activation 為 RMI 物件啟動提供支持。 
java.rmi.dgc 為 RMI 分佈式垃圾回收提供了類別和介面。 
java.rmi.registry 提供 RMI 註冊表的一個類別和兩個介面。 
java.rmi.server 提供支持伺服器端 RMI 的類別和介面。 
javax.activity 包含解組期間通過 ORB 機制拋出的與 Activity 服務有關的異常。 
javax.management.remote.rmi RMI 連接器是供 JMX Remote API 使用的一種連接器,後者使用 RMI 將客戶端請求傳輸到遠端 MBean 伺服器。 
javax.rmi 包含 RMI-IIOP 的使用者 API。 
javax.rmi.CORBA 包含用於 RMI-IIOP 的可移植性 API。 
javax.transaction 包含解組期間通過 ORB 機制拋出的三個異常。 
 

java.rmiRemoteException 的使用
 

java.rmiRemoteException 的子類別
 class AccessException
          AccessExceptionjava.rmi.Naming 類別(特別是 bindrebindunbind)的某些方法和 java.rmi.activation.ActivationSystem 介面的方法拋出,以指示調用方不允許執行該方法調用所請求的操作。
 class ConnectException
          如果拒絕遠端主機對連接的遠端方法調用,則拋出 ConnectException
 class ConnectIOException
          如果在連接到遠端主機以便進行遠端方法調用時發生 IOException,則拋出 ConnectIOException
 class MarshalException
          如果在編組遠端調用標題、參數或遠端方法調用的返回值時發生 java.io.IOException,則拋出 MarshalException
 class NoSuchObjectException
          如果試圖調用遠端虛擬機器上已不存在的物件上的方法,則拋出 NoSuchObjectException
 class ServerError
          當在伺服器上處理遠端方法調用時(既可以是解編參數、執行遠端方法本身時,也可以是編組返回值時),如果拋出 Error,則作為遠端方法調用的結果,將拋出 ServerError
 class ServerException
          在伺服器上處理遠端方法調用(既可以在解編參數時,也可以是在執行遠端方法本身時)時,如果拋出 RemoteException,則作為遠端方法調用的結果,也會拋出 ServerException
 class ServerRuntimeException
          已過時。 無替換版本
 class StubNotFoundException
          如果在導入某個遠端物件時無法找到該物件的有效 stub 類別,則拋出 StubNotFoundException
 class UnexpectedException
          如果遠端方法調用的客戶機因為該調用而收到一個未經檢查的異常(該異常不屬於遠端介面方法的 throws 語句中宣告的經檢查的異常型別),則拋出 UnexpectedException
 class UnknownHostException
          如果在創建到遠端主機的連接以便進行遠端方法調用時發生 java.net.UnknownHostException,則拋出 UnknownHostException
 class UnmarshalException
          在解組參數時或者如果發生以下任何情況導致遠端方法調用,則拋出 UnmarshalException: 如果在解組調用標題時發生異常 如果返回值的協議無效 如果解組參數(在伺服器端)或返回值(在客戶機端)時發生 java.io.IOException
 

拋出 RemoteExceptionjava.rmi 中的方法
static void Naming.bind(String name, Remote obj)
          將指定 name 綁定到遠端物件。
static String[] Naming.list(String name)
          返回在註冊表中綁定的名稱所組成的陣列。
static Remote Naming.lookup(String name)
          返回與指定 name 關聯的遠端物件的參考(一個 stub)。
static void Naming.rebind(String name, Remote obj)
          將指定名稱重新綁定到一個新的遠端物件。
static void Naming.unbind(String name)
          銷毀與遠端物件關聯的指定名稱的綁定。
 

java.rmi.activationRemoteException 的使用
 

java.rmi.activationRemoteException 的子類別
 class ActivateFailedException
          在一個對可啟動物件的遠端調用過程中,當啟動失敗時,此異常由 RMI 運行時拋出。
 

拋出 RemoteExceptionjava.rmi.activation 中的方法
 MarshalledObject<? extends Remote> Activator.activate(ActivationID id, boolean force)
          啟動與啟動標識符 id 關聯的物件。
 Remote ActivationID.activate(boolean force)
          啟動此 id 的物件。
 ActivationMonitor ActivationSystem.activeGroup(ActivationGroupID id, ActivationInstantiator group, long incarnation)
          通過回調來通知啟動系統該組現在是活動的。
protected  void ActivationGroup.activeObject(ActivationID id, MarshalledObject<? extends Remote> mobj)
          如果子類別要進行對組監視器的 activeObject 回調,則此 protected 方法是必要的。
 void ActivationMonitor.activeObject(ActivationID id, MarshalledObject<? extends Remote> obj)
          通知某個物件現在是活動的。
abstract  void ActivationGroup.activeObject(ActivationID id, Remote obj)
          當物件被導出時(通過 Activatable 物件的建構或者通過顯式調用 Activatable.exportObject),組的 activeObject 方法被調用。
static Remote Activatable.exportObject(Remote obj, ActivationID id, int port)
          將可啟動遠端物件導出到 RMI 運行資源庫中,使該物件能接收傳入的調用。
static Remote Activatable.exportObject(Remote obj, ActivationID id, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf)
          將可啟動遠端物件導出到 RMI 運行資源庫中,使該物件能接收傳入的調用。
static ActivationID Activatable.exportObject(Remote obj, String location, MarshalledObject<?> data, boolean restart, int port)
          註冊指定物件的啟動描述符(使用指定的位置、資料和重啟網要),並使用指定的埠號輸出該物件。
static ActivationID Activatable.exportObject(Remote obj, String location, MarshalledObject<?> data, boolean restart, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf)
          註冊指定物件的啟動描述符(使用指定的位置、資料和重啟網要),並使用指定的埠號、指定的客戶端和伺服器Socket處理器輸出該物件。
 ActivationDesc ActivationSystem.getActivationDesc(ActivationID id)
          為具有該啟動標識符 id 的物件返回啟動描述符。
 ActivationGroupDesc ActivationSystem.getActivationGroupDesc(ActivationGroupID id)
          為具有該啟動組標識符 id 的組返回啟動組描述符。
static boolean Activatable.inactive(ActivationID id)
          通知系統具有相應啟動 id 的物件目前沒有處於活動狀態的。
protected  void ActivationGroup.inactiveGroup()
          如果子類別要進行對組監視器的 inactiveGroup 回調,則此 protected 方法是必要的。
 void ActivationMonitor.inactiveGroup(ActivationGroupID id, long incarnation)
          通知該組現在是不活動的。
 boolean ActivationGroup.inactiveObject(ActivationID id)
          通過調用 Activatable.inactive 方法間接地調用組的 inactiveObject 方法。
 void ActivationMonitor.inactiveObject(ActivationID id)
          當組中的一個物件成為不活動(取消啟動)時,一個啟動組調用其監視器的 inactiveObject 方法。
 MarshalledObject ActivationGroup_Stub.newInstance(ActivationID id, ActivationDesc desc)
          ActivationGroup.newInstance 的 stub 方法。
 MarshalledObject<? extends Remote> ActivationInstantiator.newInstance(ActivationID id, ActivationDesc desc)
          啟動程序調用一個初始化程序的 newInstance 方法,以便在該組中重建具有啟動標識符 id 和描述符 desc 的物件。
static Remote Activatable.register(ActivationDesc desc)
          為可啟動遠端物件註冊一個物件描述符,以便可以根據需要啟動它。
 ActivationGroupID ActivationSystem.registerGroup(ActivationGroupDesc desc)
          註冊啟動組。
 ActivationID ActivationSystem.registerObject(ActivationDesc desc)
          registerObject 方法用於註冊一個啟動描述符 desc,並且為可啟動的遠端物件獲取一個啟動標識符。
 ActivationDesc ActivationSystem.setActivationDesc(ActivationID id, ActivationDesc desc)
          為具有啟動標識符 id 的物件設置啟動描述符 desc
 ActivationGroupDesc ActivationSystem.setActivationGroupDesc(ActivationGroupID id, ActivationGroupDesc desc)
          為具有啟動組標識符 id 的物件設置啟動組描述符 desc
 void ActivationSystem.shutdown()
          關閉此啟動系統。
static void Activatable.unregister(ActivationID id)
          為與 id 關聯的啟動描述符撤消前面的註冊。
 void ActivationSystem.unregisterGroup(ActivationGroupID id)
          移除啟動組。
 void ActivationSystem.unregisterObject(ActivationID id)
          移除前面通過 ActivationSystem 註冊的啟動 id 和描述符;該物件無法再通過物件的啟動 id 被啟動。
 

拋出 RemoteExceptionjava.rmi.activation 中的建構子
Activatable(ActivationID id, int port)
          建構子用於在指定埠號上啟動/導出物件。
Activatable(ActivationID id, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf)
          建構子用於在指定埠號上啟動/導出物件。
Activatable(String location, MarshalledObject<?> data, boolean restart, int port)
          建構一個可啟動的遠端物件:註冊此物件的啟動描述符(使用指定的位置、資料和重啟網要),並使用指定的埠號輸出該物件。
Activatable(String location, MarshalledObject<?> data, boolean restart, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf)
          建構一個可啟動遠端物件:註冊此物件的啟動描述符(使用指定的位置、資料和重啟網要),並使用指定的埠號、指定的客戶端和伺服器Socket處理器輸出該物件。
ActivationGroup(ActivationGroupID groupID)
          用給定的啟動組標識符創建一個啟動組。
 

java.rmi.dgcRemoteException 的使用
 

拋出 RemoteExceptionjava.rmi.dgc 中的方法
 void DGC.clean(ObjID[] ids, long sequenceNum, VMID vmid, boolean strong)
          潔調用從 'ids' 指示的每個遠端物件的參考列表中移除 'vmid'。
 Lease DGC.dirty(ObjID[] ids, long sequenceNum, Lease lease)
          髒調用為(與包含在陣列 'ids' 中的物件標識符關聯的)遠端物件參考請求租借。
 

java.rmi.registryRemoteException 的使用
 

拋出 RemoteExceptionjava.rmi.registry 中的方法
 void Registry.bind(String name, Remote obj)
          綁定對此註冊表中指定 name 的遠端參考。
static Registry LocateRegistry.createRegistry(int port)
          創建並導出接受指定 port 請求的本地主機上的 Registry 實例。
static Registry LocateRegistry.createRegistry(int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf)
          在本地主機上創建並導出 Registry 實例,該本地主機使用的是與該實例通信的自定義Socket處理器。
static Registry LocateRegistry.getRegistry()
          返回本地主機在預設註冊表埠號 1099 上對遠端物件 Registry 的參考。
static Registry LocateRegistry.getRegistry(int port)
          返回本地主機在指定 port 上對遠端物件 Registry 的參考。
static Registry LocateRegistry.getRegistry(String host)
          返回指定 host 在預設註冊表埠號 1099 上對遠端物件 Registry 的參考。
static Registry LocateRegistry.getRegistry(String host, int port)
          返回指定的 hostport 上對遠端物件 Registry 的參考。
static Registry LocateRegistry.getRegistry(String host, int port, RMIClientSocketFactory csf)
          返回本地創建的指定 hostport 上對遠端物件 Registry 的遠端參考。
 String[] Registry.list()
          返回在此註冊表中綁定的名稱的陣列。
 Remote Registry.lookup(String name)
          返回註冊表中綁定到指定 name 的遠端參考。
 void Registry.rebind(String name, Remote obj)
          用提供的遠端參考替換此註冊表中指定的 name 綁定。
 Registry RegistryHandler.registryImpl(int port)
          已過時。 無替代版本。從 Java 2 平臺 1.2 版本開始,RMI 不再使用 RegistryHandler 獲取註冊表的實作。
 Registry RegistryHandler.registryStub(String host, int port)
          已過時。 無替代版本。從 Java 2 平臺 1.2 版本開始,RMI 不再使用 RegistryHandler 獲取註冊表的 stub。
 void Registry.unbind(String name)
          移除此註冊表中指定的 name 綁定。
 

java.rmi.serverRemoteException 的使用
 

java.rmi.serverRemoteException 的子類別
 class ExportException
          ExportException 是在嘗試導出遠端物件失敗時拋出的 RemoteException
 class SkeletonMismatchException
          已過時。 無替代版本。在 Java 2 平臺 1.2 版及更高版本中,遠端方法調用不再需要 Skeleton。
 class SkeletonNotFoundException
          已過時。 無替代版本在 Java 2 平臺 1.2 版及更高版本中,遠端方法調用不再需要 Skeleton。
 class SocketSecurityException
          已廢棄的 ExportException 的子類別。
 

拋出 RemoteExceptionjava.rmi.server 中的方法
 void RemoteRef.done(RemoteCall call)
          已過時。 1.2 樣式 stub 不再使用此方法。stub 使用遠端參考上的單個方法 invoke(Remote, Method, Object[], int) 來執行參數編組、遠端方法執行和返回值解組,而不是使用對遠端參考(newCallinvokedone)的方法調用序列。
static RemoteStub UnicastRemoteObject.exportObject(Remote obj)
          使用匿名埠號導出遠端物件,以便能夠接收傳入的調用。
static Remote UnicastRemoteObject.exportObject(Remote obj, int port)
          使用提供的特定埠號導出遠端物件,以便能夠接收傳入的調用。
static Remote UnicastRemoteObject.exportObject(Remote obj, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf)
          使用由給定的Socket處理器指定的傳送方式導出遠端物件,以便能夠接收傳入的調用。
 RemoteStub ServerRef.exportObject(Remote obj, Object data)
          為提供的 Remote 物件創建客戶機 stub 物件。
 RemoteCall RemoteRef.newCall(RemoteObject obj, Operation[] op, int opnum, long hash)
          已過時。 1.2 樣式 stub 不再使用此方法。stub 使用遠端參考上的單個方法 invoke(Remote, Method, Object[], int) 來執行參數編組、遠端方法執行和返回值的解組,而不是使用該 stub 的遠端參考(newCallinvokedone)上的方法調用序列。
 

拋出 RemoteExceptionjava.rmi.server 中的建構子
UnicastRemoteObject()
          使用匿名埠號創建並導出一個新 UnicastRemoteObject 物件。
UnicastRemoteObject(int port)
          使用提供的特定埠號創建並導出一個新 UnicastRemoteObject 物件。
UnicastRemoteObject(int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf)
          使用提供的特定埠號和Socket處理器創建並導出一個新 UnicastRemoteObject 物件。
 

javax.activityRemoteException 的使用
 

javax.activityRemoteException 的子類別
 class ActivityCompletedException
          任何存取 Activity 上下文的方法都可能拋出此異常,它指示不能繼續在 Activity 內部執行操作。
 class ActivityRequiredException
          如果方法沒有接收到它所要求的 Activity 上下文,則容器將拋出此異常。
 class InvalidActivityException
          任何存取 Activity 上下文的方法都可能拋出此異常,它指示嘗試調用或與嘗試調用相關的 Activity 上下文與 Activity 的當前狀態不相容。
 

javax.management.remote.rmiRemoteException 的使用
 

拋出 RemoteExceptionjavax.management.remote.rmi 中的方法
 String RMIServer.getVersion()
          此連接器伺服器能識別的 RMI 連接協議版本。
 String RMIServerImpl_Stub.getVersion()
           
 

javax.rmiRemoteException 的使用
 

拋出 RemoteExceptionjavax.rmi 中的方法
static void PortableRemoteObject.connect(Remote target, Remote source)
          使 Remote 物件準備好進行遠端通信。
static void PortableRemoteObject.exportObject(Remote obj)
          準備伺服器物件,以接收遠端調用。
 

拋出 RemoteExceptionjavax.rmi 中的建構子
PortableRemoteObject()
          通過調用 exportObject(this) 初始化該物件。
 

javax.rmi.CORBARemoteException 的使用
 

返回 RemoteExceptionjavax.rmi.CORBA 中的方法
static RemoteException Util.mapSystemException(SystemException ex)
          將 SystemException 映射到 RemoteException。
 RemoteException UtilDelegate.mapSystemException(SystemException ex)
          Util.mapSystemException(org.omg.CORBA.SystemException) 的委託調用。
static RemoteException Util.wrapException(Throwable orig)
          包裹由實作方法拋出的異常。
 RemoteException UtilDelegate.wrapException(Throwable obj)
          Util.wrapException(java.lang.Throwable) 的委託調用。
 

拋出 RemoteExceptionjavax.rmi.CORBA 中的方法
 void Stub.connect(ORB orb)
          將此 stub 連接到 ORB。
 void PortableRemoteObjectDelegate.connect(Remote target, Remote source)
          PortableRemoteObject.connect(java.rmi.Remote, java.rmi.Remote) 的委託調用。
 void StubDelegate.connect(Stub self, ORB orb)
          Stub.connect(org.omg.CORBA.ORB) 的委託調用。
static Object Util.copyObject(Object obj, ORB orb)
          複製或連接一個物件。
 Object UtilDelegate.copyObject(Object obj, ORB orb)
          Util.copyObject(java.lang.Object, org.omg.CORBA.ORB) 的委託調用。
static Object[] Util.copyObjects(Object[] obj, ORB orb)
          複製或連接一個物件陣列。
 Object[] UtilDelegate.copyObjects(Object[] obj, ORB orb)
          Util.copyObjects(java.lang.Object[], org.omg.CORBA.ORB) 的委託調用。
 void PortableRemoteObjectDelegate.exportObject(Remote obj)
          PortableRemoteObject.exportObject(java.rmi.Remote) 的委託調用。
static boolean Util.isLocal(Stub stub)
          isLocal 方法與 ObjectImpl._is_local 方法具有相同的語義,否則可能拋出 RemoteException
 boolean UtilDelegate.isLocal(Stub stub)
          Util.isLocal(javax.rmi.CORBA.Stub) 的委託調用。
 

javax.transactionRemoteException 的使用
 

javax.transactionRemoteException 的子類別
 class InvalidTransactionException
          此異常指示該請求帶來了無效的事務上下文。
 class TransactionRequiredException
          此異常指示某個請求帶來了 null 事務上下文,但目標物件需要啟動的事務。
 class TransactionRolledbackException
          此異常指示與請求處理關聯的事務已回滾,或已標記為回滾。
 


JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only