JavaTM 2 Platform
Standard Ed. 6

javax.management.remote.rmi
類別 RMIConnectionImpl

java.lang.Object
  繼承者 javax.management.remote.rmi.RMIConnectionImpl
所有已實作的介面:
Closeable, Remote, Unreferenced, RMIConnection

public class RMIConnectionImpl
extends Object
implements RMIConnection, Unreferenced

RMIConnection 介面的實作。使用者程式碼不經常參考此類別。

從以下版本開始:
1.5

建構子摘要
RMIConnectionImpl(RMIServerImpl rmiServer, String connectionId, ClassLoader defaultClassLoader, Subject subject, Map<String,?> env)
          建構新的 RMIConnection
 
方法摘要
 void addNotificationListener(ObjectName name, ObjectName listener, MarshalledObject filter, MarshalledObject handback, Subject delegationSubject)
          處理 MBeanServerConnection.addNotificationListener(ObjectName, ObjectName, NotificationFilter, Object) 方法。
 Integer[] addNotificationListeners(ObjectName[] names, MarshalledObject[] filters, Subject[] delegationSubjects)
          處理 MBeanServerConnection.addNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object) 方法。
 void close()
          關閉此連接。
 ObjectInstance createMBean(String className, ObjectName name, MarshalledObject params, String[] signature, Subject delegationSubject)
          處理 MBeanServerConnection.createMBean(String, ObjectName, Object[], String[]) 方法。
 ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName, MarshalledObject params, String[] signature, Subject delegationSubject)
          處理 MBeanServerConnection.createMBean(String, ObjectName, ObjectName, Object[], String[]) 方法。
 ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName, Subject delegationSubject)
          處理 MBeanServerConnection.createMBean(String, ObjectName, ObjectName) 方法。
 ObjectInstance createMBean(String className, ObjectName name, Subject delegationSubject)
          處理 MBeanServerConnection.createMBean(String, ObjectName) 方法。
 NotificationResult fetchNotifications(long clientSequenceNumber, int maxNotifications, long timeout)
          檢索來自連接器伺服器的通知。
 Object getAttribute(ObjectName name, String attribute, Subject delegationSubject)
          處理 MBeanServerConnection.getAttribute(ObjectName, String) 方法。
 AttributeList getAttributes(ObjectName name, String[] attributes, Subject delegationSubject)
          處理 MBeanServerConnection.getAttributes(ObjectName, String[]) 方法。
 String getConnectionId()
          返回連接 ID。
 String getDefaultDomain(Subject delegationSubject)
          處理 MBeanServerConnection.getDefaultDomain() 方法。
 String[] getDomains(Subject delegationSubject)
          處理 MBeanServerConnection.getDomains() 方法。
 Integer getMBeanCount(Subject delegationSubject)
          處理 MBeanServerConnection.getMBeanCount() 方法。
 MBeanInfo getMBeanInfo(ObjectName name, Subject delegationSubject)
          處理 MBeanServerConnection.getMBeanInfo(ObjectName) 方法。
 ObjectInstance getObjectInstance(ObjectName name, Subject delegationSubject)
          處理 MBeanServerConnection.getObjectInstance(ObjectName) 方法。
 Object invoke(ObjectName name, String operationName, MarshalledObject params, String[] signature, Subject delegationSubject)
          處理 MBeanServerConnection.invoke(ObjectName, String, Object[], String[]) 方法。
 boolean isInstanceOf(ObjectName name, String className, Subject delegationSubject)
          處理 MBeanServerConnection.isInstanceOf(ObjectName, String) 方法。
 boolean isRegistered(ObjectName name, Subject delegationSubject)
          處理 MBeanServerConnection.isRegistered(ObjectName) 方法。
 Set<ObjectInstance> queryMBeans(ObjectName name, MarshalledObject query, Subject delegationSubject)
          處理 MBeanServerConnection.queryMBeans(ObjectName, QueryExp) 方法。
 Set<ObjectName> queryNames(ObjectName name, MarshalledObject query, Subject delegationSubject)
          處理 MBeanServerConnection.queryNames(ObjectName, QueryExp) 方法。
 void removeNotificationListener(ObjectName name, ObjectName listener, MarshalledObject filter, MarshalledObject handback, Subject delegationSubject)
          處理 MBeanServerConnection.removeNotificationListener(ObjectName, ObjectName, NotificationFilter, Object) 方法。
 void removeNotificationListener(ObjectName name, ObjectName listener, Subject delegationSubject)
          處理 MBeanServerConnection.removeNotificationListener(ObjectName, ObjectName) 方法。
 void removeNotificationListeners(ObjectName name, Integer[] listenerIDs, Subject delegationSubject)
          處理 removeNotificationListener(ObjectName, NotificationListener)removeNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object) 方法。
 void setAttribute(ObjectName name, MarshalledObject attribute, Subject delegationSubject)
          處理 MBeanServerConnection.setAttribute(ObjectName, Attribute) 方法。
 AttributeList setAttributes(ObjectName name, MarshalledObject attributes, Subject delegationSubject)
          處理 MBeanServerConnection.setAttributes(ObjectName, AttributeList) 方法。
 String toString()
          返回此物件的字元串表示形式。
 void unreferenced()
          在運行時確定參考列表(參考遠端物件的客戶機列表)變空之後的某個時候由 RMI 運行時調用。
 void unregisterMBean(ObjectName name, Subject delegationSubject)
          處理 MBeanServerConnection.unregisterMBean(ObjectName) 方法。
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

建構子詳細資訊

RMIConnectionImpl

public RMIConnectionImpl(RMIServerImpl rmiServer,
                         String connectionId,
                         ClassLoader defaultClassLoader,
                         Subject subject,
                         Map<String,?> env)
建構新的 RMIConnection。此連接即可與 JRMP 一起使用,也可與 IIOP 傳輸一起使用。此物件並不導出其自身:應由調用者將其適當地導出(請參閱 RMIJRMPServerImpl.makeClient(String,Subject)RMIIIOPServerImpl.makeClient(String,Subject))。

參數:
rmiServer - 為其創建此連接的 RMIServerImpl 物件。如果該參數為 null,則行為不明確。
connectionId - 該連接的 ID。如果該參數為 null,則行為不明確。
defaultClassLoader - 將在反序列化編組物件時使用的預設 ClassLoader。可以為 null,表示引導類別載入器。
subject - 將供授權使用的經驗證的主題。可以為 null,表示尚未驗證任何主題。
env - 套件含新的 RMIServerImpl 屬性的環境。可以為 null,等效於一個空映射。
方法詳細資訊

getConnectionId

public String getConnectionId()
                       throws IOException
從介面 RMIConnection 複製的描述

返回連接 ID。對於每個到給定的 RMI 連接器伺服器的開放連接,此字元串都不相同。

指定者:
介面 RMIConnection 中的 getConnectionId
返回:
連接 ID
拋出:
IOException - 如果出現通用通信異常。
另請參見:
RMIConnector.connect

close

public void close()
           throws IOException
從介面 RMIConnection 複製的描述

關閉此連接。從此方法返回時,不導出實作此介面的 RMI 物件,因此對它的進一步遠端調用將失敗。

指定者:
介面 Closeable 中的 close
指定者:
介面 RMIConnection 中的 close
拋出:
IOException - 如果無法關閉連接,或 Remote 物件無法被導出,或者在傳輸遠端關閉請求時出現通信故障。

unreferenced

public void unreferenced()
從介面 Unreferenced 複製的描述
在運行時確定參考列表(參考遠端物件的客戶機列表)變空之後的某個時候由 RMI 運行時調用。

指定者:
介面 Unreferenced 中的 unreferenced

createMBean

public ObjectInstance createMBean(String className,
                                  ObjectName name,
                                  Subject delegationSubject)
                           throws ReflectionException,
                                  InstanceAlreadyExistsException,
                                  MBeanRegistrationException,
                                  MBeanException,
                                  NotCompliantMBeanException,
                                  IOException
從介面 RMIConnection 複製的描述
處理 MBeanServerConnection.createMBean(String, ObjectName) 方法。

指定者:
介面 RMIConnection 中的 createMBean
參數:
className - 要實例化的 MBean 的類別名稱。
name - MBean 的物件名。可以為 null。
delegationSubject - 套件含委託 principal 的 Subject,如果使用了驗證 principal,則為 null
返回:
ObjectInstance,它包含新實例化的 MBean 的 ObjectName 和 Java 類別名。如果所包含的 ObjectNamen,則所包含的 Java 類別名為 getMBeanInfo(n).getClassName()
拋出:
ReflectionException - 在嘗試調用 MBean 的建構子的過程中出現的、包裹了 java.lang.ClassNotFoundExceptionjava.lang.Exception 的異常。
InstanceAlreadyExistsException - MBean 已處於 MBean 伺服器的控制之下。
MBeanRegistrationException - MBean 的 preRegisterMBeanRegistration 介面)方法已拋出異常。不對 MBean 進行註冊。
MBeanException - MBean 的建構子已拋出異常。
NotCompliantMBeanException - 該類別不是一個遵守 JMX 的 MBean。
IOException - 如果出現通用通信異常。

createMBean

public ObjectInstance createMBean(String className,
                                  ObjectName name,
                                  ObjectName loaderName,
                                  Subject delegationSubject)
                           throws ReflectionException,
                                  InstanceAlreadyExistsException,
                                  MBeanRegistrationException,
                                  MBeanException,
                                  NotCompliantMBeanException,
                                  InstanceNotFoundException,
                                  IOException
從介面 RMIConnection 複製的描述
處理 MBeanServerConnection.createMBean(String, ObjectName, ObjectName) 方法。

指定者:
介面 RMIConnection 中的 createMBean
參數:
className - 要實例化的 MBean 的類別名稱。
name - MBean 的物件名。可以為 null。
loaderName - 要使用的類別載入器的物件名。
delegationSubject - 套件含委託 principal 的 Subject,如果使用了驗證 principal,則為 null
返回:
ObjectInstance,它包含新實例化的 MBean 的 ObjectName 和 Java 類別名。如果所包含的 ObjectNamen,則所包含的 Java 類別名為 getMBeanInfo(n).getClassName()
拋出:
ReflectionException - 在嘗試調用 MBean 的建構子的過程中出現的、包裹了 java.lang.ClassNotFoundExceptionjava.lang.Exception 的異常。
InstanceAlreadyExistsException - MBean 已處於 MBean 伺服器的控制之下。
MBeanRegistrationException - MBean 的 preRegisterMBeanRegistration 介面)方法已拋出異常。不對 MBean 進行註冊。
MBeanException - MBean 的建構子已拋出異常。
NotCompliantMBeanException - 該類別不是一個遵守 JMX 的 MBean。
InstanceNotFoundException - 指定的類別載入器未在 MBean 伺服器中註冊。
IOException - 如果出現通用通信異常。

createMBean

public ObjectInstance createMBean(String className,
                                  ObjectName name,
                                  MarshalledObject params,
                                  String[] signature,
                                  Subject delegationSubject)
                           throws ReflectionException,
                                  InstanceAlreadyExistsException,
                                  MBeanRegistrationException,
                                  MBeanException,
                                  NotCompliantMBeanException,
                                  IOException
從介面 RMIConnection 複製的描述
處理 MBeanServerConnection.createMBean(String, ObjectName, Object[], String[]) 方法。Object[] 參數包裹在 MarshalledObject 中。

指定者:
介面 RMIConnection 中的 createMBean
參數:
className - 要實例化的 MBean 的類別名稱。
name - MBean 的物件名。可以為 null。
params - 套件含要調用的建構子的參數的陣列,陣列封裝在 MarshalledObject 中。封裝的陣列可以為 null,其等效於一個空陣列。
signature - 套件含要調用的建構子的簽章的陣列。可以為 null,等效於一個空陣列。
delegationSubject - 套件含委託 principal 的 Subject,如果使用了驗證 principal,則為 null
返回:
ObjectInstance,它包含新實例化的 MBean 的 ObjectName 和 Java 類別名。如果所包含的 ObjectNamen,則所包含的 Java 類別名為 getMBeanInfo(n).getClassName()
拋出:
ReflectionException - 在嘗試調用 MBean 的建構子的過程中出現的、包裹了 java.lang.ClassNotFoundExceptionjava.lang.Exception 的異常。
InstanceAlreadyExistsException - MBean 已處於 MBean 伺服器的控制之下。
MBeanRegistrationException - MBean 的 preRegisterMBeanRegistration 介面)方法已拋出異常。不對 MBean 進行註冊。
MBeanException - MBean 的建構子已拋出異常。
NotCompliantMBeanException - 該類別不是一個遵守 JMX 的 MBean。
IOException - 如果出現通用通信異常。

createMBean

public ObjectInstance createMBean(String className,
                                  ObjectName name,
                                  ObjectName loaderName,
                                  MarshalledObject params,
                                  String[] signature,
                                  Subject delegationSubject)
                           throws ReflectionException,
                                  InstanceAlreadyExistsException,
                                  MBeanRegistrationException,
                                  MBeanException,
                                  NotCompliantMBeanException,
                                  InstanceNotFoundException,
                                  IOException
從介面 RMIConnection 複製的描述
處理 MBeanServerConnection.createMBean(String, ObjectName, ObjectName, Object[], String[]) 方法。Object[] 參數包裹在 MarshalledObject 中。

指定者:
介面 RMIConnection 中的 createMBean
參數:
className - 要實例化的 MBean 的類別名稱。
name - MBean 的物件名。可以為 null。
loaderName - 要使用的類別載入器的物件名。
params - 套件含要調用的建構子的參數的陣列,陣列封裝在 MarshalledObject 中。封裝的陣列可以為 null,其等效於一個空陣列。
signature - 套件含要調用的建構子的簽章的陣列。可以為 null,等效於一個空陣列。
delegationSubject - 套件含委託 principal 的 Subject,如果使用了驗證 principal,則為 null
返回:
ObjectInstance,它包含新實例化的 MBean 的 ObjectName 和 Java 類別名。如果所包含的 ObjectNamen,則所包含的 Java 類別名為 getMBeanInfo(n).getClassName()
拋出:
ReflectionException - 在嘗試調用 MBean 的建構子的過程中出現的、包裹了 java.lang.ClassNotFoundExceptionjava.lang.Exception 的異常。
InstanceAlreadyExistsException - MBean 已處於 MBean 伺服器的控制之下。
MBeanRegistrationException - MBean 的 preRegisterMBeanRegistration 介面)方法已拋出異常。不對 MBean 進行註冊。
MBeanException - MBean 的建構子已拋出異常。
NotCompliantMBeanException - 該類別不是一個遵守 JMX 的 MBean。
InstanceNotFoundException - 指定的類別載入器未在 MBean 伺服器中註冊。
IOException - 如果出現通用通信異常。

unregisterMBean

public void unregisterMBean(ObjectName name,
                            Subject delegationSubject)
                     throws InstanceNotFoundException,
                            MBeanRegistrationException,
                            IOException
從介面 RMIConnection 複製的描述
處理 MBeanServerConnection.unregisterMBean(ObjectName) 方法。

指定者:
介面 RMIConnection 中的 unregisterMBean
參數:
name - 要註冊的 MBean 的物件名。
delegationSubject - 套件含委託 principal 的 Subject,如果使用了驗證 principal,則為 null
拋出:
InstanceNotFoundException - 指定的 MBean 未在 MBean 伺服器中註冊。
MBeanRegistrationException - MBean 的 preDeregister (MBeanRegistration 介面)方法已拋出異常。
IOException - 如果出現通用通信異常。

getObjectInstance

public ObjectInstance getObjectInstance(ObjectName name,
                                        Subject delegationSubject)
                                 throws InstanceNotFoundException,
                                        IOException
從介面 RMIConnection 複製的描述
處理 MBeanServerConnection.getObjectInstance(ObjectName) 方法。

指定者:
介面 RMIConnection 中的 getObjectInstance
參數:
name - MBean 的物件名。
delegationSubject - 套件含委託 principal 的 Subject,如果使用了驗證 principal,則為 null
返回:
name 指定的與 MBean 關聯的 ObjectInstance。所包含的 ObjectNamename,所包含的類別名稱為 getMBeanInfo(name).getClassName()
拋出:
InstanceNotFoundException - 指定的 MBean 未在 MBean 伺服器中註冊。
IOException - 如果出現通用通信異常。

queryMBeans

public Set<ObjectInstance> queryMBeans(ObjectName name,
                                       MarshalledObject query,
                                       Subject delegationSubject)
                                throws IOException
從介面 RMIConnection 複製的描述
處理 MBeanServerConnection.queryMBeans(ObjectName, QueryExp) 方法。QueryExp 套件裝在 MarshalledObject 中。

指定者:
介面 RMIConnection 中的 queryMBeans
參數:
name - 標識要檢索的 MBean 的物件名網要。如果指定了 null 或未指定任何域或關鍵字屬性,則將檢索所有已註冊的 MBean。
query - 用於選擇 MBean 的查詢表達式,它封裝在 MarshalledObject 中。如果 MarshalledObject 封裝了一個 null 值,則選擇 MBean 時不使用任何查詢表達式。
delegationSubject - 套件含委託 principal 的 Subject,如果使用了驗證 principal,則為 null
返回:
包含選定 MBean 的 ObjectInstance 物件集。如果沒有任何 MBean 滿足此查詢,則返回一個空列表。
拋出:
IOException - 如果出現通用通信異常。

queryNames

public Set<ObjectName> queryNames(ObjectName name,
                                  MarshalledObject query,
                                  Subject delegationSubject)
                           throws IOException
從介面 RMIConnection 複製的描述
處理 MBeanServerConnection.queryNames(ObjectName, QueryExp) 方法。QueryExp 套件裝在 MarshalledObject 中。

指定者:
介面 RMIConnection 中的 queryNames
參數:
name - 標識要檢索的 MBean 名稱的物件名網要。如果指定了 null 或未指定任何域或關鍵字屬性,則將檢索所有已註冊的 MBean 的名稱。
query - 用於選擇 MBean 的查詢表達式,它封裝在 MarshalledObject 中。如果 MarshalledObject 封裝了一個 null 值,則選擇 MBean 時不使用任何查詢表達式。
delegationSubject - 套件含委託 principal 的 Subject,如果使用了驗證 principal,則為 null
返回:
包含選定的 MBean 的 ObjectName 集。如果沒有任何 MBean 滿足此查詢,則返回一個空列表。
拋出:
IOException - 如果出現通用通信異常。

isRegistered

public boolean isRegistered(ObjectName name,
                            Subject delegationSubject)
                     throws IOException
從介面 RMIConnection 複製的描述
處理 MBeanServerConnection.isRegistered(ObjectName) 方法。

指定者:
介面 RMIConnection 中的 isRegistered
參數:
name - 要檢查的 MBean 的物件名。
delegationSubject - 套件含委託 principal 的 Subject,如果使用了驗證 principal,則為 null
返回:
True 如果 MBean 已在 MBean 伺服器上註冊,否則返回 false。
拋出:
IOException - 如果出現通用通信異常。

getMBeanCount

public Integer getMBeanCount(Subject delegationSubject)
                      throws IOException
從介面 RMIConnection 複製的描述
處理 MBeanServerConnection.getMBeanCount() 方法。

指定者:
介面 RMIConnection 中的 getMBeanCount
參數:
delegationSubject - 套件含委託 principal 的 Subject,如果使用了驗證 principal,則為 null
返回:
已註冊的 MBean 數。
拋出:
IOException - 如果出現通用通信異常。

getAttribute

public Object getAttribute(ObjectName name,
                           String attribute,
                           Subject delegationSubject)
                    throws MBeanException,
                           AttributeNotFoundException,
                           InstanceNotFoundException,
                           ReflectionException,
                           IOException
從介面 RMIConnection 複製的描述
處理 MBeanServerConnection.getAttribute(ObjectName, String) 方法。

指定者:
介面 RMIConnection 中的 getAttribute
參數:
name - 將要從其檢索屬性的 MBean 的物件名。
attribute - 指定要檢索的屬性名稱的字元串。
delegationSubject - 套件含委託 principal 的 Subject,如果使用了驗證 principal,則為 null
返回:
檢索到的屬性的值。
拋出:
MBeanException - 套件裝了由 MBean 的獲取方法拋出的異常。
AttributeNotFoundException - 指定的屬性在 MBean 中無法存取。
InstanceNotFoundException - 指定的 MBean 未在 MBean 伺服器中註冊。
ReflectionException - 套件裝了嘗試調用獲取方法時拋出的 java.lang.Exception
IOException - 如果出現通用通信異常。
另請參見:
RMIConnection.setAttribute(javax.management.ObjectName, java.rmi.MarshalledObject, javax.security.auth.Subject)

getAttributes

public AttributeList getAttributes(ObjectName name,
                                   String[] attributes,
                                   Subject delegationSubject)
                            throws InstanceNotFoundException,
                                   ReflectionException,
                                   IOException
從介面 RMIConnection 複製的描述
處理 MBeanServerConnection.getAttributes(ObjectName, String[]) 方法。

指定者:
介面 RMIConnection 中的 getAttributes
參數:
name - 從其檢索屬性的 MBean 的物件名。
attributes - 要檢索的屬性的列表。
delegationSubject - 套件含委託 principal 的 Subject,如果使用了驗證 principal,則為 null
返回:
所檢索的屬性的列表。
拋出:
InstanceNotFoundException - 指定的 MBean 未在 MBean 伺服器中註冊。
ReflectionException - 嘗試調用 Dynamic MBean 的 getAttributes 方法時出現的異常。
IOException - 如果出現通用通信異常。
另請參見:
RMIConnection.setAttributes(javax.management.ObjectName, java.rmi.MarshalledObject, javax.security.auth.Subject)

setAttribute

public void setAttribute(ObjectName name,
                         MarshalledObject attribute,
                         Subject delegationSubject)
                  throws InstanceNotFoundException,
                         AttributeNotFoundException,
                         InvalidAttributeValueException,
                         MBeanException,
                         ReflectionException,
                         IOException
從介面 RMIConnection 複製的描述
處理 MBeanServerConnection.setAttribute(ObjectName, Attribute) 方法。Attribute 參數包裹在 MarshalledObject 中。

指定者:
介面 RMIConnection 中的 setAttribute
參數:
name - 在其中設置屬性的 MBean 的名稱。
attribute - 要設置的屬性的標識及要設置的值,封裝在 MarshalledObject 中。
delegationSubject - 套件含委託 principal 的 Subject,如果使用了驗證 principal,則為 null
拋出:
InstanceNotFoundException - 指定的 MBean 未在 MBean 伺服器中註冊。
AttributeNotFoundException - 指定的屬性在 MBean 中無法存取。
InvalidAttributeValueException - 為屬性指定的值無效。
MBeanException - 套件裝了由 MBean 的設置方法拋出的異常。
ReflectionException - 套件裝了嘗試調用設置方法時拋出的 java.lang.Exception
IOException - 如果出現通用通信異常。
另請參見:
RMIConnection.getAttribute(javax.management.ObjectName, java.lang.String, javax.security.auth.Subject)

setAttributes

public AttributeList setAttributes(ObjectName name,
                                   MarshalledObject attributes,
                                   Subject delegationSubject)
                            throws InstanceNotFoundException,
                                   ReflectionException,
                                   IOException
從介面 RMIConnection 複製的描述
處理 MBeanServerConnection.setAttributes(ObjectName, AttributeList) 方法。AttributeList 參數包裹在 MarshalledObject 中。

指定者:
介面 RMIConnection 中的 setAttributes
參數:
name - 要在其中設置屬性的 MBean 的物件名。
attributes - 屬性列表:要設置的屬性的標識及要設置的值,封裝在 MarshalledObject 中。
delegationSubject - 套件含委託 principal 的 Subject,如果使用了驗證 principal,則為 null
返回:
原先設置過的帶有新值的屬性列表。
拋出:
InstanceNotFoundException - 指定的 MBean 未在 MBean 伺服器中註冊。
ReflectionException - 嘗試調用 Dynamic MBean 的 getAttributes 方法時出現的異常。
IOException - 如果出現通用通信異常。
另請參見:
RMIConnection.getAttributes(javax.management.ObjectName, java.lang.String[], javax.security.auth.Subject)

invoke

public Object invoke(ObjectName name,
                     String operationName,
                     MarshalledObject params,
                     String[] signature,
                     Subject delegationSubject)
              throws InstanceNotFoundException,
                     MBeanException,
                     ReflectionException,
                     IOException
從介面 RMIConnection 複製的描述
處理 MBeanServerConnection.invoke(ObjectName, String, Object[], String[]) 方法。Object[] 參數包裹在 MarshalledObject 中。

指定者:
介面 RMIConnection 中的 invoke
參數:
name - 將在其上調用此方法的 MBean 的物件名。
operationName - 要調用的操作的名稱。
params - 套件含調用操作時將設置的參數的陣列,它封裝在 MarshalledObject 中。封裝的陣列可以為 null,其等效於一個空陣列。
signature - 套件含操作的簽章的陣列。該類別物件將使用與載入在其上調用了操作的 MBean 過程中所用的相同的類別載入器載入。可以為 null,等效於一個空陣列。
delegationSubject - 套件含委託 principal 的 Subject,如果使用了驗證 principal,則為 null
返回:
操作返回的物件,它代表在指定的 MBean 上調用操作的結果。
拋出:
InstanceNotFoundException - 指定的 MBean 未在 MBean 伺服器中註冊。
MBeanException - 套件裝了由 MBean 的調用的方法拋出的異常。
ReflectionException - 套件裝了嘗試調用此方法時拋出的 java.lang.Exception
IOException - 如果出現通用通信異常。

getDefaultDomain

public String getDefaultDomain(Subject delegationSubject)
                        throws IOException
從介面 RMIConnection 複製的描述
處理 MBeanServerConnection.getDefaultDomain() 方法。

指定者:
介面 RMIConnection 中的 getDefaultDomain
參數:
delegationSubject - 套件含委託 principal 的 Subject,如果使用了驗證 principal,則為 null
返回:
預設的域。
拋出:
IOException - 如果出現通用通信異常。

getDomains

public String[] getDomains(Subject delegationSubject)
                    throws IOException
從介面 RMIConnection 複製的描述
處理 MBeanServerConnection.getDomains() 方法。

指定者:
介面 RMIConnection 中的 getDomains
參數:
delegationSubject - 套件含委託 principal 的 Subject,如果使用了驗證 principal,則為 null
返回:
域列表。
拋出:
IOException - 如果出現通用通信異常。

getMBeanInfo

public MBeanInfo getMBeanInfo(ObjectName name,
                              Subject delegationSubject)
                       throws InstanceNotFoundException,
                              IntrospectionException,
                              ReflectionException,
                              IOException
從介面 RMIConnection 複製的描述
處理 MBeanServerConnection.getMBeanInfo(ObjectName) 方法。

指定者:
介面 RMIConnection 中的 getMBeanInfo
參數:
name - 要分析的 MBean 的名稱
delegationSubject - 套件含委託 principal 的 Subject,如果使用了驗證委託 principal,則為 null
返回:
允許檢索該 MBean 的所有屬性和操作的 MBeanInfo 的實例。
拋出:
InstanceNotFoundException - 未找到指定的 MBean。
IntrospectionException - 自行推算過程中出現的異常。
ReflectionException - 嘗試調用 Dynamic MBean 的 getMBeanInfo 方法時出現的異常。
IOException - 如果出現通用通信異常。

isInstanceOf

public boolean isInstanceOf(ObjectName name,
                            String className,
                            Subject delegationSubject)
                     throws InstanceNotFoundException,
                            IOException
從介面 RMIConnection 複製的描述
處理 MBeanServerConnection.isInstanceOf(ObjectName, String) 方法。

指定者:
介面 RMIConnection 中的 isInstanceOf
參數:
name - MBean 的 ObjectName
className - 類別的名稱。
delegationSubject - 套件含委託 principal 的 Subject,如果使用了驗證 principal,則為 null
返回:
按照上面的規則,如果指定的 MBean 為指定類別的實例,則返回 true,否則返回 false。
拋出:
InstanceNotFoundException - 指定的 MBean 未在 MBean 伺服器中註冊。
IOException - 如果出現通用通信異常。

addNotificationListeners

public Integer[] addNotificationListeners(ObjectName[] names,
                                          MarshalledObject[] filters,
                                          Subject[] delegationSubjects)
                                   throws InstanceNotFoundException,
                                          IOException
從介面 RMIConnection 複製的描述

處理 MBeanServerConnection.addNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object) 方法。

供來自給定 MBean 的與給定的過濾器比對的通知使用的記錄。遠端客戶端以後可使用 fetchNotifications 方法檢索該通知。

對於每個偵聽器,原始的 NotificationListenerhandback 保留在客戶端;為說明客戶端識別它們,伺服器產生並返回一個唯一的 listenerID。該 listenerIDNotifications 一起轉發到遠端客戶端。

如果給定 (name, filter) 對中有任何一對無法註冊,則操作失敗並拋出異常,不註冊任何名稱或過濾器。

指定者:
介面 RMIConnection 中的 addNotificationListeners
參數:
names - 標識發出 Notification 的 MBean 的 ObjectNames
filters - NotificationFilters 的編組表示形式的陣列。此陣列的元素可以為 null。
delegationSubjects - 偵聽器代表其添加的 Subjects。此陣列的元素可以為 null。同樣,delegationSubjects 參數本身可以為 null,它表示具有 null 值的陣列,陣列大小與 namesfilters 陣列大小相同。
返回:
標識本地偵聽器的 listenerIDs 陣列。此陣列具有與參數個數相同的元素數。
拋出:
InstanceNotFoundException - 如果 names 中有一個不與任何已註冊的 MBean 對應。
IOException - 如果出現通用通信異常。

addNotificationListener

public void addNotificationListener(ObjectName name,
                                    ObjectName listener,
                                    MarshalledObject filter,
                                    MarshalledObject handback,
                                    Subject delegationSubject)
                             throws InstanceNotFoundException,
                                    IOException
從介面 RMIConnection 複製的描述
處理 MBeanServerConnection.addNotificationListener(ObjectName, ObjectName, NotificationFilter, Object) 方法。NotificationFilter 參數包裹在 MarshalledObject 中。Object (handback) 參數也包裹在 MarshalledObject 中。

指定者:
介面 RMIConnection 中的 addNotificationListener
參數:
name - 應在其上添加偵聽器的 MBean 的名稱。
listener - 將處理由已註冊的 MBean 發出通知的偵聽器的物件名。
filter - 過濾器物件,封裝在 MarshalledObject 中。如果封裝在 MarshalledObject 中的過濾器的值為 null,則在對通知處理之前不執行任何過濾。
handback - 通知發出時發送到偵聽器的上下文,封裝在 MarshalledObject 中。
delegationSubject - 套件含委託 principal 的 Subject,如果使用了驗證 principal,則為 null
拋出:
InstanceNotFoundException - 通知偵聽器或通知廣播器的 MBean 名稱不與註冊的任何 MBean 比對。
IOException - 如果出現通用通信異常。
另請參見:
RMIConnection.removeNotificationListener(ObjectName, ObjectName, Subject), RMIConnection.removeNotificationListener(ObjectName, ObjectName, MarshalledObject, MarshalledObject, Subject)

removeNotificationListeners

public void removeNotificationListeners(ObjectName name,
                                        Integer[] listenerIDs,
                                        Subject delegationSubject)
                                 throws InstanceNotFoundException,
                                        ListenerNotFoundException,
                                        IOException
從介面 RMIConnection 複製的描述

處理 removeNotificationListener(ObjectName, NotificationListener)removeNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object) 方法。

此方法從 MBean 伺服器中的給定 MBean 中移除一個或多個 NotificationListener

NotificationListeners 通過從 RMIConnection.addNotificationListeners(ObjectName[], MarshalledObject[], Subject[]) 方法返回的 ID 標識。

指定者:
介面 RMIConnection 中的 removeNotificationListeners
參數:
name - 標識發出 Notification 的 MBean 的 ObjectName
listenerIDs - 與要移除的偵聽器對應的 ID。
delegationSubject - 套件含委託 principal 的 Subject,如果使用了驗證 principal,則為 null
拋出:
InstanceNotFoundException - 如果給定的 name 不對應任何已註冊的 MBean。
ListenerNotFoundException - 如果有一個偵聽器在伺服器端無法找到。當 MBean 出於某種原因丟棄了一個偵聽器,而未通過調用 MBeanServer.removeNotificationListener 丟棄時,出現該異常。
IOException - 如果出現通用通信異常。

removeNotificationListener

public void removeNotificationListener(ObjectName name,
                                       ObjectName listener,
                                       Subject delegationSubject)
                                throws InstanceNotFoundException,
                                       ListenerNotFoundException,
                                       IOException
從介面 RMIConnection 複製的描述
處理 MBeanServerConnection.removeNotificationListener(ObjectName, ObjectName) 方法。

指定者:
介面 RMIConnection 中的 removeNotificationListener
參數:
name - 應在其上移除偵聽器的 MBean 的名稱。
listener - 要移除的偵聽器的物件名。
delegationSubject - 套件含委託 principal 的 Subject,如果使用了驗證 principal,則為 null
拋出:
InstanceNotFoundException - 所提供的 MBean 名稱不與任何已註冊 MBean 比對。
ListenerNotFoundException - 偵聽器未在 MBean 中註冊。
IOException - 如果出現通用通信異常。
另請參見:
RMIConnection.addNotificationListener(javax.management.ObjectName, javax.management.ObjectName, java.rmi.MarshalledObject, java.rmi.MarshalledObject, javax.security.auth.Subject)

removeNotificationListener

public void removeNotificationListener(ObjectName name,
                                       ObjectName listener,
                                       MarshalledObject filter,
                                       MarshalledObject handback,
                                       Subject delegationSubject)
                                throws InstanceNotFoundException,
                                       ListenerNotFoundException,
                                       IOException
從介面 RMIConnection 複製的描述
處理 MBeanServerConnection.removeNotificationListener(ObjectName, ObjectName, NotificationFilter, Object) 方法。NotificationFilter 參數包裹在 MarshalledObject 中。Object 參數也包裹在 MarshalledObject 中。

指定者:
介面 RMIConnection 中的 removeNotificationListener
參數:
name - 應在其上移除偵聽器的 MBean 的名稱。
listener - 原先添加到此 MBean 的偵聽器。
filter - 添加偵聽器時指定的過濾器,它封裝在 MarshalledObject 中。
handback - 添加偵聽器時指定的 handback,它封裝在 MarshalledObject 中。
delegationSubject - 套件含委託 principal 的 Subject,如果使用了驗證 principal,則為 null
拋出:
InstanceNotFoundException - 所提供的 MBean 名稱不與任何已註冊 MBean 比對。
ListenerNotFoundException - 偵聽器未在 MBean 中註冊,或者未用給定的過濾器和 handback 註冊。
IOException - 如果出現通用通信異常。
另請參見:
RMIConnection.addNotificationListener(javax.management.ObjectName, javax.management.ObjectName, java.rmi.MarshalledObject, java.rmi.MarshalledObject, javax.security.auth.Subject)

fetchNotifications

public NotificationResult fetchNotifications(long clientSequenceNumber,
                                             int maxNotifications,
                                             long timeout)
                                      throws IOException
從介面 RMIConnection 複製的描述

檢索來自連接器伺服器的通知。該方法可能阻塞,直到至少有一個通知,或者直到達到指定的逾時時間。該方法還可在任何時間返回零通知。

如果通知的序列號不小於 clientSequenceNumber,並且此客戶端已為 MBean 產生通知至少註冊了一個偵聽器(帶一個接收通知的過濾器),則通知可包含在該結果中。對通知感興趣的各偵聽器由從 RMIConnection.addNotificationListeners(ObjectName[], MarshalledObject[], Subject[]) 返回的整數型 ID 標識。

指定者:
介面 RMIConnection 中的 fetchNotifications
參數:
clientSequenceNumber - 客戶端感興趣的第一個序列號。如果為負,它表示下一個通知將具有的序列號。
maxNotifications - 返回的不同通知的最大數。如果同一個通知出現了多次,則返回的 NotificationResult 中的 TargetedNotification 陣列可能包含比此數更多的元素。如果該參數為負,則行為不明確。
timeout - 等待通知到達的最長時間,以毫秒為單位。它可以是 0,指示在無通知時該方法不應等待,而應立即返回。它可以為 Long.MAX_VALUE,指示無逾時。如果該參數為負,則行為不明確。
返回:
一個 NotificationResult
拋出:
IOException - 如果出現通用通信異常。

toString

public String toString()

返回此物件的字元串表示形式。通常情況下,toString 方法會返回一個“按文本方式表示”此物件的字元串。結果應是一個簡明而豐富的表示,它方便人們閱讀。

覆寫:
類別 Object 中的 toString
返回:
此物件的字元串表示形式。

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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