|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
public interface RMIConnection
RMI 物件,用於將 MBeanServer 請求從客戶端轉發到其位於伺服器端的 MBeanServer 實作。連接到 RMI 連接器的每個遠端客戶端都有一個實作此介面的 Remote 物件。
使用者程式碼不經常參考此介面。它作為公用 API 的一部分指定,便於該 API 的不同實作之間實作互操作。
為確保用正確的類別載入器將客戶端參數在伺服器端反序列化,客戶端參數(例如,用於調用方法的參數)包裹在 MarshalledObject
方法中。此介面的實作必須首先獲得適用於操作及其目標的適當的類別載入器,然後用該類別載入器反序列化編組的參數。除非另外說明,MarshalledObject
或 MarshalledObject[]
型別的參數必定不為 null;如果參數為 null,則行為不明確。
有關類別載入的內容在 JMX Specification, version 1.4 PDF 文檔中進行了詳細的描述。
此介面中的多數方法與 MBeanServerConnection
介面中的方法相似。這裡未指定方法的行為方面,它與相應的 MBeanServerConnection
方法相同。
方法詳細資訊 |
---|
String getConnectionId() throws IOException
返回連接 ID。對於每個到給定的 RMI 連接器伺服器的開放連接,此字元串都不相同。
IOException
- 如果出現通用通信異常。RMIConnector.connect
void close() throws IOException
關閉此連接。從此方法返回時,不導出實作此介面的 RMI 物件,因此對它的進一步遠端調用將失敗。
Closeable
中的 close
IOException
- 如果無法關閉連接,或 Remote 物件無法被導出,或者在傳輸遠端關閉請求時出現通信故障。ObjectInstance createMBean(String className, ObjectName name, Subject delegationSubject) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, IOException
MBeanServerConnection.createMBean(String, ObjectName)
方法。
className
- 要實例化的 MBean 的類別名稱。name
- MBean 的物件名。可以為 null。delegationSubject
- 套件含委託 principal 的 Subject
,如果使用了驗證 principal,則為 null
。
ObjectInstance
,它包含新實例化的 MBean 的 ObjectName
和 Java 類別名。如果所包含的 ObjectName
為 n
,則所包含的 Java 類別名為 getMBeanInfo(n)
.getClassName()
。
ReflectionException
- 在嘗試調用 MBean 的建構子的過程中出現的、包裹了 java.lang.ClassNotFoundException
或 java.lang.Exception
的異常。
InstanceAlreadyExistsException
- MBean 已處於 MBean 伺服器的控制之下。
MBeanRegistrationException
- MBean 的 preRegister
(MBeanRegistration
介面)方法已拋出異常。不對 MBean 進行註冊。
MBeanException
- MBean 的建構子已拋出異常。
NotCompliantMBeanException
- 該類別不是一個遵守 JMX 的 MBean。
RuntimeOperationsException
- 套件裝了 java.lang.IllegalArgumentException
:className 傳入的參數為 null,ObjectName
傳入的參數包含網要或未為 MBean 指定任何 ObjectName
。
SecurityException
- 如果客戶端或委託的 Subject(如果有)沒有執行此操作的權限。
IOException
- 如果出現通用通信異常。ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName, Subject delegationSubject) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, InstanceNotFoundException, IOException
MBeanServerConnection.createMBean(String, ObjectName, ObjectName)
方法。
className
- 要實例化的 MBean 的類別名稱。name
- MBean 的物件名。可以為 null。loaderName
- 要使用的類別載入器的物件名。delegationSubject
- 套件含委託 principal 的 Subject
,如果使用了驗證 principal,則為 null
。
ObjectInstance
,它包含新實例化的 MBean 的 ObjectName
和 Java 類別名。如果所包含的 ObjectName
為 n
,則所包含的 Java 類別名為 getMBeanInfo(n)
.getClassName()
。
ReflectionException
- 在嘗試調用 MBean 的建構子的過程中出現的、包裹了 java.lang.ClassNotFoundException
或 java.lang.Exception
的異常。
InstanceAlreadyExistsException
- MBean 已處於 MBean 伺服器的控制之下。
MBeanRegistrationException
- MBean 的 preRegister
(MBeanRegistration
介面)方法已拋出異常。不對 MBean 進行註冊。
MBeanException
- MBean 的建構子已拋出異常。
NotCompliantMBeanException
- 該類別不是一個遵守 JMX 的 MBean。
InstanceNotFoundException
- 指定的類別載入器未在 MBean 伺服器中註冊。
RuntimeOperationsException
- 套件裝了 java.lang.IllegalArgumentException
:className 傳入的參數為 null,ObjectName
傳入的參數包含網要或未為 MBean 指定任何 ObjectName
。
SecurityException
- 如果客戶端或委託的 Subject(如果有)沒有執行此操作的權限。
IOException
- 如果出現通用通信異常。ObjectInstance createMBean(String className, ObjectName name, MarshalledObject params, String[] signature, Subject delegationSubject) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, IOException
MBeanServerConnection.createMBean(String, ObjectName, Object[], String[])
方法。Object[]
參數包裹在 MarshalledObject
中。
className
- 要實例化的 MBean 的類別名稱。name
- MBean 的物件名。可以為 null。params
- 套件含要調用的建構子的參數的陣列,陣列封裝在 MarshalledObject
中。封裝的陣列可以為 null,其等效於一個空陣列。signature
- 套件含要調用的建構子的簽章的陣列。可以為 null,等效於一個空陣列。delegationSubject
- 套件含委託 principal 的 Subject
,如果使用了驗證 principal,則為 null
。
ObjectInstance
,它包含新實例化的 MBean 的 ObjectName
和 Java 類別名。如果所包含的 ObjectName
為 n
,則所包含的 Java 類別名為 getMBeanInfo(n)
.getClassName()
。
ReflectionException
- 在嘗試調用 MBean 的建構子的過程中出現的、包裹了 java.lang.ClassNotFoundException
或 java.lang.Exception
的異常。
InstanceAlreadyExistsException
- MBean 已處於 MBean 伺服器的控制之下。
MBeanRegistrationException
- MBean 的 preRegister
(MBeanRegistration
介面)方法已拋出異常。不對 MBean 進行註冊。
MBeanException
- MBean 的建構子已拋出異常。
NotCompliantMBeanException
- 該類別不是一個遵守 JMX 的 MBean。
RuntimeOperationsException
- 套件裝了 java.lang.IllegalArgumentException
:className 傳入的參數為 null,ObjectName
傳入的參數包含一個網要,或未為 MBean 指定任何 ObjectName
。
SecurityException
- 如果客戶端或委託的 Subject(如果有)沒有執行此操作的權限。
IOException
- 如果出現通用通信異常。ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName, MarshalledObject params, String[] signature, Subject delegationSubject) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, InstanceNotFoundException, IOException
MBeanServerConnection.createMBean(String, ObjectName, ObjectName, Object[], String[])
方法。Object[]
參數包裹在 MarshalledObject
中。
className
- 要實例化的 MBean 的類別名稱。name
- MBean 的物件名。可以為 null。loaderName
- 要使用的類別載入器的物件名。params
- 套件含要調用的建構子的參數的陣列,陣列封裝在 MarshalledObject
中。封裝的陣列可以為 null,其等效於一個空陣列。signature
- 套件含要調用的建構子的簽章的陣列。可以為 null,等效於一個空陣列。delegationSubject
- 套件含委託 principal 的 Subject
,如果使用了驗證 principal,則為 null
。
ObjectInstance
,它包含新實例化的 MBean 的 ObjectName
和 Java 類別名。如果所包含的 ObjectName
為 n
,則所包含的 Java 類別名為 getMBeanInfo(n)
.getClassName()
。
ReflectionException
- 在嘗試調用 MBean 的建構子的過程中出現的、包裹了 java.lang.ClassNotFoundException
或 java.lang.Exception
的異常。
InstanceAlreadyExistsException
- MBean 已處於 MBean 伺服器的控制之下。
MBeanRegistrationException
- MBean 的 preRegister
(MBeanRegistration
介面)方法已拋出異常。不對 MBean 進行註冊。
MBeanException
- MBean 的建構子已拋出異常。
NotCompliantMBeanException
- 該類別不是一個遵守 JMX 的 MBean。
InstanceNotFoundException
- 指定的類別載入器未在 MBean 伺服器中註冊。
RuntimeOperationsException
- 套件裝了 java.lang.IllegalArgumentException
:className 傳入的參數為 null,ObjectName
傳入的參數包含一個網要,或未為 MBean 指定任何 ObjectName
。
SecurityException
- 如果客戶端或委託的 Subject(如果有)沒有執行此操作的權限。
IOException
- 如果出現通用通信異常。void unregisterMBean(ObjectName name, Subject delegationSubject) throws InstanceNotFoundException, MBeanRegistrationException, IOException
MBeanServerConnection.unregisterMBean(ObjectName)
方法。
name
- 要註冊的 MBean 的物件名。delegationSubject
- 套件含委託 principal 的 Subject
,如果使用了驗證 principal,則為 null
。
InstanceNotFoundException
- 指定的 MBean 未在 MBean 伺服器中註冊。
MBeanRegistrationException
- MBean 的 preDeregister (MBeanRegistration
介面)方法已拋出異常。
RuntimeOperationsException
- 套件裝了 java.lang.IllegalArgumentException
:參數中的物件名為 null 或您嘗試註銷的 MBean 為 MBeanServerDelegate
MBean。
SecurityException
- 如果客戶端或委託的 Subject(如果有)沒有執行此操作的權限。
IOException
- 如果出現通用通信異常。ObjectInstance getObjectInstance(ObjectName name, Subject delegationSubject) throws InstanceNotFoundException, IOException
MBeanServerConnection.getObjectInstance(ObjectName)
方法。
name
- MBean 的物件名。delegationSubject
- 套件含委託 principal 的 Subject
,如果使用了驗證 principal,則為 null
。
ObjectInstance
。所包含的 ObjectName
為 name
,所包含的類別名稱為 getMBeanInfo(name)
.getClassName()
。
InstanceNotFoundException
- 指定的 MBean 未在 MBean 伺服器中註冊。
RuntimeOperationsException
- 套件裝了 java.lang.IllegalArgumentException
:參數中的物件名為 null。
SecurityException
- 如果客戶端或委託的 Subject(如果有)沒有執行此操作的權限。
IOException
- 如果出現通用通信異常。Set<ObjectInstance> queryMBeans(ObjectName name, MarshalledObject query, Subject delegationSubject) throws IOException
MBeanServerConnection.queryMBeans(ObjectName, QueryExp)
方法。QueryExp
套件裝在 MarshalledObject
中。
name
- 標識要檢索的 MBean 的物件名網要。如果指定了 null 或未指定任何域或關鍵字屬性,則將檢索所有已註冊的 MBean。query
- 用於選擇 MBean 的查詢表達式,它封裝在 MarshalledObject
中。如果 MarshalledObject
封裝了一個 null 值,則選擇 MBean 時不使用任何查詢表達式。delegationSubject
- 套件含委託 principal 的 Subject
,如果使用了驗證 principal,則為 null
。
ObjectInstance
物件集。如果沒有任何 MBean 滿足此查詢,則返回一個空列表。
SecurityException
- 如果客戶端或委託的 Subject(如果有)沒有執行此操作的權限。
IOException
- 如果出現通用通信異常。Set<ObjectName> queryNames(ObjectName name, MarshalledObject query, Subject delegationSubject) throws IOException
MBeanServerConnection.queryNames(ObjectName, QueryExp)
方法。QueryExp
套件裝在 MarshalledObject
中。
name
- 標識要檢索的 MBean 名稱的物件名網要。如果指定了 null 或未指定任何域或關鍵字屬性,則將檢索所有已註冊的 MBean 的名稱。query
- 用於選擇 MBean 的查詢表達式,它封裝在 MarshalledObject
中。如果 MarshalledObject
封裝了一個 null 值,則選擇 MBean 時不使用任何查詢表達式。delegationSubject
- 套件含委託 principal 的 Subject
,如果使用了驗證 principal,則為 null
。
SecurityException
- 如果客戶端或委託的 Subject(如果有)沒有執行此操作的權限。
IOException
- 如果出現通用通信異常。boolean isRegistered(ObjectName name, Subject delegationSubject) throws IOException
MBeanServerConnection.isRegistered(ObjectName)
方法。
name
- 要檢查的 MBean 的物件名。delegationSubject
- 套件含委託 principal 的 Subject
,如果使用了驗證 principal,則為 null
。
RuntimeOperationsException
- 套件裝了 java.lang.IllegalArgumentException
:參數中的物件名為 null。
SecurityException
- 如果客戶端或委託的 Subject(如果有)沒有執行此操作的權限。
IOException
- 如果出現通用通信異常。Integer getMBeanCount(Subject delegationSubject) throws IOException
MBeanServerConnection.getMBeanCount()
方法。
delegationSubject
- 套件含委託 principal 的 Subject
,如果使用了驗證 principal,則為 null
。
SecurityException
- 如果客戶端或委託的 Subject(如果有)沒有執行此操作的權限。
IOException
- 如果出現通用通信異常。Object getAttribute(ObjectName name, String attribute, Subject delegationSubject) throws MBeanException, AttributeNotFoundException, InstanceNotFoundException, ReflectionException, IOException
MBeanServerConnection.getAttribute(ObjectName, String)
方法。
name
- 將要從其檢索屬性的 MBean 的物件名。attribute
- 指定要檢索的屬性名稱的字元串。delegationSubject
- 套件含委託 principal 的 Subject
,如果使用了驗證 principal,則為 null
。
AttributeNotFoundException
- 指定的屬性在 MBean 中無法存取。
MBeanException
- 套件裝了由 MBean 的獲取方法拋出的異常。
InstanceNotFoundException
- 指定的 MBean 未在 MBean 伺服器中註冊。
ReflectionException
- 套件裝了嘗試調用獲取方法時拋出的 java.lang.Exception
。
RuntimeOperationsException
- 套件裝了 java.lang.IllegalArgumentException
:參數中的物件名為 null,或參數中的屬性為 null。
RuntimeMBeanException
- 套件裝了由 MBean 的獲取方法拋出的運行時異常。
SecurityException
- 如果客戶端或委託的 Subject(如果有)沒有執行此操作的權限。
IOException
- 如果出現通用通信異常。setAttribute(javax.management.ObjectName, java.rmi.MarshalledObject, javax.security.auth.Subject)
AttributeList getAttributes(ObjectName name, String[] attributes, Subject delegationSubject) throws InstanceNotFoundException, ReflectionException, IOException
MBeanServerConnection.getAttributes(ObjectName, String[])
方法。
name
- 從其檢索屬性的 MBean 的物件名。attributes
- 要檢索的屬性的列表。delegationSubject
- 套件含委託 principal 的 Subject
,如果使用了驗證 principal,則為 null
。
InstanceNotFoundException
- 指定的 MBean 未在 MBean 伺服器中註冊。
ReflectionException
- 嘗試調用 Dynamic MBean 的 getAttributes 方法時出現的異常。
RuntimeOperationsException
- 套件裝了 java.lang.IllegalArgumentException
:參數中的物件名為 null,或參數中的屬性為 null。
SecurityException
- 如果客戶端或委託的 Subject(如果有)沒有執行此操作的權限。
IOException
- 如果出現通用通信異常。setAttributes(javax.management.ObjectName, java.rmi.MarshalledObject, javax.security.auth.Subject)
void setAttribute(ObjectName name, MarshalledObject attribute, Subject delegationSubject) throws InstanceNotFoundException, AttributeNotFoundException, InvalidAttributeValueException, MBeanException, ReflectionException, IOException
MBeanServerConnection.setAttribute(ObjectName, Attribute)
方法。Attribute
參數包裹在 MarshalledObject
中。
name
- 在其中設置屬性的 MBean 的名稱。attribute
- 要設置的屬性的標識及要設置的值,封裝在 MarshalledObject
中。delegationSubject
- 套件含委託 principal 的 Subject
,如果使用了驗證 principal,則為 null
。
InstanceNotFoundException
- 指定的 MBean 未在 MBean 伺服器中註冊。
AttributeNotFoundException
- 指定的屬性在 MBean 中無法存取。
InvalidAttributeValueException
- 為屬性指定的值無效。
MBeanException
- 套件裝了由 MBean 的設置方法拋出的異常。
ReflectionException
- 套件裝了嘗試調用設置方法時拋出的 java.lang.Exception
。
RuntimeOperationsException
- 套件裝了 java.lang.IllegalArgumentException
:參數中的物件名為 null,或參數中的屬性為 null。
SecurityException
- 如果客戶端或委託的 Subject(如果有)沒有執行此操作的權限。
IOException
- 如果出現通用通信異常。getAttribute(javax.management.ObjectName, java.lang.String, javax.security.auth.Subject)
AttributeList setAttributes(ObjectName name, MarshalledObject attributes, Subject delegationSubject) throws InstanceNotFoundException, ReflectionException, IOException
MBeanServerConnection.setAttributes(ObjectName, AttributeList)
方法。AttributeList
參數包裹在 MarshalledObject
中。
name
- 要在其中設置屬性的 MBean 的物件名。attributes
- 屬性列表:要設置的屬性的標識及要設置的值,封裝在 MarshalledObject
中。delegationSubject
- 套件含委託 principal 的 Subject
,如果使用了驗證 principal,則為 null
。
InstanceNotFoundException
- 指定的 MBean 未在 MBean 伺服器中註冊。
ReflectionException
- 嘗試調用 Dynamic MBean 的 getAttributes 方法時出現的異常。
RuntimeOperationsException
- 套件裝了 java.lang.IllegalArgumentException
:參數中的物件名為 null,或參數中的屬性為 null。
SecurityException
- 如果客戶端或委託的 Subject(如果有)沒有執行此操作的權限。
IOException
- 如果出現通用通信異常。getAttributes(javax.management.ObjectName, java.lang.String[], javax.security.auth.Subject)
Object invoke(ObjectName name, String operationName, MarshalledObject params, String[] signature, Subject delegationSubject) throws InstanceNotFoundException, MBeanException, ReflectionException, IOException
MBeanServerConnection.invoke(ObjectName, String, Object[], String[])
方法。Object[]
參數包裹在 MarshalledObject
中。
name
- 將在其上調用此方法的 MBean 的物件名。operationName
- 要調用的操作的名稱。params
- 套件含調用操作時將設置的參數的陣列,它封裝在 MarshalledObject
中。封裝的陣列可以為 null,其等效於一個空陣列。signature
- 套件含操作的簽章的陣列。該類別物件將使用與載入在其上調用了操作的 MBean 過程中所用的相同的類別載入器載入。可以為 null,等效於一個空陣列。delegationSubject
- 套件含委託 principal 的 Subject
,如果使用了驗證 principal,則為 null
。
InstanceNotFoundException
- 指定的 MBean 未在 MBean 伺服器中註冊。
MBeanException
- 套件裝了由 MBean 的調用的方法拋出的異常。
ReflectionException
- 套件裝了嘗試調用此方法時拋出的 java.lang.Exception
。
SecurityException
- 如果客戶端或委託的 Subject(如果有)沒有執行此操作的權限。
IOException
- 如果出現通用通信異常。
RuntimeOperationsException
- 套件裝了 name
或 operationName
為 null 時拋出的 IllegalArgumentException
。String getDefaultDomain(Subject delegationSubject) throws IOException
MBeanServerConnection.getDefaultDomain()
方法。
delegationSubject
- 套件含委託 principal 的 Subject
,如果使用了驗證 principal,則為 null
。
SecurityException
- 如果客戶端或委託的 Subject(如果有)沒有執行此操作的權限。
IOException
- 如果出現通用通信異常。String[] getDomains(Subject delegationSubject) throws IOException
MBeanServerConnection.getDomains()
方法。
delegationSubject
- 套件含委託 principal 的 Subject
,如果使用了驗證 principal,則為 null
。
SecurityException
- 如果客戶端或委託的 Subject(如果有)沒有執行此操作的權限。
IOException
- 如果出現通用通信異常。MBeanInfo getMBeanInfo(ObjectName name, Subject delegationSubject) throws InstanceNotFoundException, IntrospectionException, ReflectionException, IOException
MBeanServerConnection.getMBeanInfo(ObjectName)
方法。
name
- 要分析的 MBean 的名稱delegationSubject
- 套件含委託 principal 的 Subject
,如果使用了驗證委託 principal,則為 null
。
MBeanInfo
的實例。
IntrospectionException
- 自行推算過程中出現的異常。
InstanceNotFoundException
- 未找到指定的 MBean。
ReflectionException
- 嘗試調用 Dynamic MBean 的 getMBeanInfo 方法時出現的異常。
SecurityException
- 如果客戶端或委託的 Subject(如果有)沒有執行此操作的權限。
IOException
- 如果出現通用通信異常。
RuntimeOperationsException
- 套件裝了 java.lang.IllegalArgumentException
:參數中的物件名為 null。boolean isInstanceOf(ObjectName name, String className, Subject delegationSubject) throws InstanceNotFoundException, IOException
MBeanServerConnection.isInstanceOf(ObjectName, String)
方法。
name
- MBean 的 ObjectName
。className
- 類別的名稱。delegationSubject
- 套件含委託 principal 的 Subject
,如果使用了驗證 principal,則為 null
。
InstanceNotFoundException
- 指定的 MBean 未在 MBean 伺服器中註冊。
SecurityException
- 如果客戶端或委託的 Subject(如果有)沒有執行此操作的權限。
IOException
- 如果出現通用通信異常。
RuntimeOperationsException
- 套件裝了 java.lang.IllegalArgumentException
:參數中的物件名為 null。void addNotificationListener(ObjectName name, ObjectName listener, MarshalledObject filter, MarshalledObject handback, Subject delegationSubject) throws InstanceNotFoundException, IOException
MBeanServerConnection.addNotificationListener(ObjectName, ObjectName, NotificationFilter, Object)
方法。NotificationFilter
參數包裹在 MarshalledObject
中。Object
(handback) 參數也包裹在 MarshalledObject
中。
name
- 應在其上添加偵聽器的 MBean 的名稱。listener
- 將處理由已註冊的 MBean 發出通知的偵聽器的物件名。filter
- 過濾器物件,封裝在 MarshalledObject
中。如果封裝在 MarshalledObject
中的過濾器的值為 null,則在對通知處理之前不執行任何過濾。handback
- 通知發出時發送到偵聽器的上下文,封裝在 MarshalledObject
中。delegationSubject
- 套件含委託 principal 的 Subject
,如果使用了驗證 principal,則為 null
。
InstanceNotFoundException
- 通知偵聽器或通知廣播器的 MBean 名稱不與註冊的任何 MBean 比對。
RuntimeOperationsException
- 套件裝了 IllegalArgumentException
。存在由 listener
命名的 MBean,但它並不實作 NotificationListener
介面,或者 name
或 listener
為 null。
SecurityException
- 如果客戶端或委託的 Subject(如果有)沒有執行此操作的權限。
IOException
- 如果出現通用通信異常。removeNotificationListener(ObjectName, ObjectName, Subject)
,
removeNotificationListener(ObjectName, ObjectName, MarshalledObject, MarshalledObject, Subject)
void removeNotificationListener(ObjectName name, ObjectName listener, Subject delegationSubject) throws InstanceNotFoundException, ListenerNotFoundException, IOException
MBeanServerConnection.removeNotificationListener(ObjectName, ObjectName)
方法。
name
- 應在其上移除偵聽器的 MBean 的名稱。listener
- 要移除的偵聽器的物件名。delegationSubject
- 套件含委託 principal 的 Subject
,如果使用了驗證 principal,則為 null
。
InstanceNotFoundException
- 所提供的 MBean 名稱不與任何已註冊 MBean 比對。
ListenerNotFoundException
- 偵聽器未在 MBean 中註冊。
SecurityException
- 如果客戶端或委託的 Subject(如果有)沒有執行此操作的權限。
IOException
- 如果出現通用通信異常。
RuntimeOperationsException
- 當 name
或 listener
為 null 時包裹了 IllegalArgumentException
。addNotificationListener(javax.management.ObjectName, javax.management.ObjectName, java.rmi.MarshalledObject, java.rmi.MarshalledObject, javax.security.auth.Subject)
void removeNotificationListener(ObjectName name, ObjectName listener, MarshalledObject filter, MarshalledObject handback, Subject delegationSubject) throws InstanceNotFoundException, ListenerNotFoundException, IOException
MBeanServerConnection.removeNotificationListener(ObjectName, ObjectName, NotificationFilter, Object)
方法。NotificationFilter
參數包裹在 MarshalledObject
中。Object
參數也包裹在 MarshalledObject
中。
name
- 應在其上移除偵聽器的 MBean 的名稱。listener
- 原先添加到此 MBean 的偵聽器。filter
- 添加偵聽器時指定的過濾器,它封裝在 MarshalledObject
中。handback
- 添加偵聽器時指定的 handback,它封裝在 MarshalledObject
中。delegationSubject
- 套件含委託 principal 的 Subject
,如果使用了驗證 principal,則為 null
。
InstanceNotFoundException
- 所提供的 MBean 名稱不與任何已註冊 MBean 比對。
ListenerNotFoundException
- 偵聽器未在 MBean 中註冊,或者未用給定的過濾器和 handback 註冊。
SecurityException
- 如果客戶端或委託的 Subject(如果有)沒有執行此操作的權限。
IOException
- 如果出現通用通信異常。
RuntimeOperationsException
- 當 name
或 listener
為 null 時包裹了 IllegalArgumentException
。addNotificationListener(javax.management.ObjectName, javax.management.ObjectName, java.rmi.MarshalledObject, java.rmi.MarshalledObject, javax.security.auth.Subject)
Integer[] addNotificationListeners(ObjectName[] names, MarshalledObject[] filters, Subject[] delegationSubjects) throws InstanceNotFoundException, IOException
供來自給定 MBean 的與給定的過濾器比對的通知使用的記錄。遠端客戶端以後可使用 fetchNotifications
方法檢索該通知。
對於每個偵聽器,原始的 NotificationListener
和 handback
保留在客戶端;為說明客戶端識別它們,伺服器產生並返回一個唯一的 listenerID
。該 listenerID
與 Notifications
一起轉發到遠端客戶端。
如果給定 (name, filter) 對中有任何一對無法註冊,則操作失敗並拋出異常,不註冊任何名稱或過濾器。
names
- 標識發出 Notification 的 MBean 的 ObjectNames
。filters
- NotificationFilters
的編組表示形式的陣列。此陣列的元素可以為 null。delegationSubjects
- 偵聽器代表其添加的 Subjects
。此陣列的元素可以為 null。同樣,delegationSubjects
參數本身可以為 null,它表示具有 null 值的陣列,陣列大小與 names
和 filters
陣列大小相同。
listenerIDs
陣列。此陣列具有與參數個數相同的元素數。
IllegalArgumentException
- 如果 names
或 filters
為 null,或者 names
套件含 null 元素,或者三個陣列的大小不相同。
ClassCastException
- 如果 filters
中有一個元素解組為不是 NotificationFilter
的非 null 物件。
InstanceNotFoundException
- 如果 names
中有一個不與任何已註冊的 MBean 對應。
SecurityException
- 如果 MBean 之一、客戶端或委託的 Subject(如果有)無權添加偵聽器。
IOException
- 如果出現通用通信異常。void removeNotificationListeners(ObjectName name, Integer[] listenerIDs, Subject delegationSubject) throws InstanceNotFoundException, ListenerNotFoundException, IOException
處理 removeNotificationListener(ObjectName, NotificationListener)
和 removeNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object)
方法。
此方法從 MBean 伺服器中的給定 MBean 中移除一個或多個 NotificationListener
。
NotificationListeners
通過從 addNotificationListeners(ObjectName[], MarshalledObject[], Subject[])
方法返回的 ID 標識。
name
- 標識發出 Notification 的 MBean 的 ObjectName
。listenerIDs
- 與要移除的偵聽器對應的 ID。delegationSubject
- 套件含委託 principal 的 Subject
,如果使用了驗證 principal,則為 null
。
InstanceNotFoundException
- 如果給定的 name
不對應任何已註冊的 MBean。
ListenerNotFoundException
- 如果有一個偵聽器在伺服器端無法找到。當 MBean 出於某種原因丟棄了一個偵聽器,而未通過調用 MBeanServer.removeNotificationListener
丟棄時,出現該異常。
SecurityException
- 如果客戶端或委託的 Subject(如果有)沒有移除偵聽器的權限。
IOException
- 如果出現通用通信異常。
IllegalArgumentException
- 如果 ObjectName
或 listenerIds
為 null,或者 listenerIds
套件含一個 null 元素。NotificationResult fetchNotifications(long clientSequenceNumber, int maxNotifications, long timeout) throws IOException
檢索來自連接器伺服器的通知。該方法可能阻塞,直到至少有一個通知,或者直到達到指定的逾時時間。該方法還可在任何時間返回零通知。
如果通知的序列號不小於 clientSequenceNumber
,並且此客戶端已為 MBean 產生通知至少註冊了一個偵聽器(帶一個接收通知的過濾器),則通知可包含在該結果中。對通知感興趣的各偵聽器由從 addNotificationListeners(ObjectName[], MarshalledObject[], Subject[])
返回的整數型 ID 標識。
clientSequenceNumber
- 客戶端感興趣的第一個序列號。如果為負,它表示下一個通知將具有的序列號。maxNotifications
- 返回的不同通知的最大數。如果同一個通知出現了多次,則返回的 NotificationResult
中的 TargetedNotification
陣列可能包含比此數更多的元素。如果該參數為負,則行為不明確。timeout
- 等待通知到達的最長時間,以毫秒為單位。它可以是 0,指示在無通知時該方法不應等待,而應立即返回。它可以為 Long.MAX_VALUE
,指示無逾時。如果該參數為負,則行為不明確。
NotificationResult
。
IOException
- 如果出現通用通信異常。
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。