|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object javax.management.relation.RelationSupport
public class RelationSupport
RelationSupport 物件由 Relation Service 內部使用,表示任何關係型的具有不限數量的角色的簡單關係(只有角色,沒有屬性或方法)。作為內部表示形式,不會向使用者公開它。
RelationSupport 類別遵循標準的 MBean 設計網要。因此,使用者可以決定將 RelationSupport 物件本身實例化為 MBean(因為它遵循 MBean 設計網要),以便在 MBean Server 中註冊,然後將其添加到 Relation Service 中。
使用者還可以在創建自己的 MBean 關係類別時讓其擴展 RelationSupport,以檢索所需介面的實作(請參見下面內容)。
它還可以在使用者關係 MBean 類別中讓一個成員成為 RelationSupport 物件,並通過將所有介面委託給此成員來實作所需介面。
RelationSupport 實作 Relation 介面(將由 Relation Service 處理)。
它還實作 MBeanRegistration 介面,以便能夠檢索它在其中註冊的 MBean Server(如果註冊為 MBean),從而存取其 Relation Service。
建構子摘要 | |
---|---|
RelationSupport(String relationId,
ObjectName relationServiceName,
MBeanServer relationServiceMBeanServer,
String relationTypeName,
RoleList list)
創建一個 RelationSupport 物件。 |
|
RelationSupport(String relationId,
ObjectName relationServiceName,
String relationTypeName,
RoleList list)
創建一個 RelationSupport 物件。 |
方法摘要 | |
---|---|
RoleResult |
getAllRoles()
返回關係中存在的所有角色。 |
Map<ObjectName,List<String>> |
getReferencedMBeans()
檢索在該關係的各種角色中參考的 MBean。 |
String |
getRelationId()
返回關係標識符(用於唯一標識 Relation Service 中的關係)。 |
ObjectName |
getRelationServiceName()
返回處理關係的 Relation Service 的 ObjectName。 |
String |
getRelationTypeName()
返回相關關係型別的名稱。 |
List<ObjectName> |
getRole(String roleName)
檢索給定角色名稱的角色值。 |
Integer |
getRoleCardinality(String roleName)
返回當前在給定角色中參考的 MBean 數。 |
RoleResult |
getRoles(String[] roleNameArray)
檢索具有給定名稱的角色值。 |
void |
handleMBeanUnregistration(ObjectName objectName,
String roleName)
在註銷角色中參考的 MBean 時由 Relation Service 使用的回調。 |
Boolean |
isInRelationService()
返回指定該物件是否仍然由 Relation Service 處理的內部標誌。 |
void |
postDeregister()
允許 MBean 在已從 MBean 伺服器註銷之後執行所需要的任何操作。 |
void |
postRegister(Boolean registrationDone)
允許 MBean 在被註冊到 MBean 伺服器或註銷失敗後執行任何所需要的操作。 |
void |
preDeregister()
允許該 MBean 在從 MBean 伺服器註銷之前執行它所需要的任何操作。 |
ObjectName |
preRegister(MBeanServer server,
ObjectName name)
允許 MBean 在被註冊到 MBean 伺服器之前執行它所需要的任何操作。 |
RoleList |
retrieveAllRoles()
返回關係中的所有角色,不檢查讀取網要。 |
void |
setRelationServiceManagementFlag(Boolean flag)
指定此關係是否由 Relation Service 處理。 |
void |
setRole(Role role)
設置給定的角色。 |
RoleResult |
setRoles(RoleList list)
設置給定的角色。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
建構子詳細資訊 |
---|
public RelationSupport(String relationId, ObjectName relationServiceName, String relationTypeName, RoleList list) throws InvalidRoleValueException, IllegalArgumentException
RelationSupport
物件。
在使用者要將 RelationSupport 物件註冊為 MBean 時,或者在創建擴展 RelationSupport 的使用者關係 MBean 類別時,必須使用此建構子。
在 Relation Service 級別不執行任何操作,既不向 RelationService
添加 RelationSupport
物件,也不查看提供的值是否正確。始終創建該物件,除以下情況外:
- 任何所需的參數為 null
。
- 兩個角色使用了同一名稱。
為了將該物件作為關係處理,務必使用 Relation Service 方法 addRelation() 將 RelationSupport
物件添加到 Relation Service 中。
relationId
- 關係標識符,用來在 Relation Service 中標識關係。
期望在給定的 Relation Service 中唯一。
relationServiceName
- 將在其中註冊關係的 Relation Service 的 ObjectName。
此參數是必需的,因為這是知道給定關係的關係型別定義的 Relation Service,所以將能夠檢查更新操作(集)。
relationTypeName
- 關係型別的名稱。
期望已在給定的 Relation Service 中創建。
list
- 要初始化關係的角色(Role 物件)的列表。可以為 null
。
期望遵循相關關係型別中的關係資訊。
InvalidRoleValueException
- 如果兩個角色使用了同一個名稱。
IllegalArgumentException
- 如果任何所需參數(關係 id、關係服務 ObjectName、關係服務 MBeanServer 或者關係型別名稱)為 null
。public RelationSupport(String relationId, ObjectName relationServiceName, MBeanServer relationServiceMBeanServer, String relationTypeName, RoleList list) throws InvalidRoleValueException, IllegalArgumentException
RelationSupport
物件。
在使用者關係 MBean 實作期望通過委託給 RelationSupport 物件受關係支持的介面時,務必使用此建構子。
此物件需要知道期望處理該關係的 Relation Service。所以它必須知道 Relation Service 在其中註冊的 MBean Server。
按照限制,必須像期望處理它的 Relation Service 一樣在同一 MBean Server 中註冊關係 MBean。所以必須創建並註冊使用者關係 MBean,然後可以使用標識的 MBean Server 創建包裹的 RelationSupport 物件。
在 Relation Service 級別不執行任何操作,既不向 RelationService
添加 RelationSupport
物件,也不查看提供的值是否正確。始終創建該物件,除以下情況外:
- 任何所需的參數為 null
。
- 兩個角色使用了同一個名稱。
為了將該物件作為關係處理,務必使用 Relation Service 方法 addRelation() 將 RelationSupport
物件添加到 Relation Service 中。
relationId
- 關係標識符,用來在 Relation Service 中標識關係。
期望在給定的 Relation Service 中唯一。
relationServiceName
- 將在其中註冊關係的 Relation Service 的 ObjectName。
此參數是必需的,因為這是知道給定關係的關係型別定義的 Relation Service,所以將能夠檢查更新操作(集合)。
relationServiceMBeanServer
- 該套件裝 MBean 在其中或將在其中註冊的 MBean Server。
期望是 Relation Service 在其中或將在其中註冊的 MBean Server。
relationTypeName
- 關係型別的名稱。
期望已在給定的 Relation Service 中創建該名稱。
list
- 要初始化關係的角色(Role 物件)的列表。可以為 null
。
期望遵循相關關係型別中的關係資訊。
InvalidRoleValueException
- 如果兩個角色使用了同一個名稱。
IllegalArgumentException
- 如果任何所需參數(關係 id、關係服務 ObjectName 或者關係型別名稱)為 null
。方法詳細資訊 |
---|
public List<ObjectName> getRole(String roleName) throws IllegalArgumentException, RoleNotFoundException, RelationServiceNotRegisteredException
按照關係型別檢查角色是否存在以及是否可讀。
Relation
中的 getRole
roleName
- 角色名稱
IllegalArgumentException
- 如果為 null 角色名稱
RoleNotFoundException
- 如果:
- 不存在具有給定名稱的角色
- 角色不可讀。
RelationServiceNotRegisteredException
- 如果 Relation Service 未在 MBean Server 中註冊setRole(javax.management.relation.Role)
public RoleResult getRoles(String[] roleNameArray) throws IllegalArgumentException, RelationServiceNotRegisteredException
按照關係型別檢查每個角色是否存在以及是否可讀。
Relation
中的 getRoles
roleNameArray
- 要檢索的角色名稱的陣列
IllegalArgumentException
- 如果角色名稱為 null
RelationServiceNotRegisteredException
- 如果 Relation Service 未在 MBean Server 中註冊。setRoles(javax.management.relation.RoleList)
public RoleResult getAllRoles() throws RelationServiceNotRegisteredException
Relation
中的 getAllRoles
RelationServiceNotRegisteredException
- 如果 Relation Service 未在 MBean Server 中註冊public RoleList retrieveAllRoles()
Relation
中的 retrieveAllRoles
public Integer getRoleCardinality(String roleName) throws IllegalArgumentException, RoleNotFoundException
Relation
中的 getRoleCardinality
roleName
- 角色名稱
IllegalArgumentException
- 如果角色名稱為 null
RoleNotFoundException
- 如果不存在具有給定名稱的角色public void setRole(Role role) throws IllegalArgumentException, RoleNotFoundException, RelationTypeNotFoundException, InvalidRoleValueException, RelationServiceNotRegisteredException, RelationNotFoundException
將按照其在關係的關係型別中提供的相應角色定義檢查角色
將發送通知(帶型別 RELATION_BASIC_UPDATE 或 RELATION_MBEAN_UPDATE 的 RelationNotification,具體取決於該關係是否為 MBean)
Relation
中的 setRole
role
- 要設置的角色(名稱和新值)
IllegalArgumentException
- 如果角色是 null
RoleNotFoundException
- 如果不存在具有指定名稱的角色,或者該角色不可寫該角色不可寫(初始化角色時未執行寫入存取網要測試)
InvalidRoleValueException
- 如果為角色提供的值無效,即
- 給定值中參考的 MBean 數小於期望的最小程度
- 提供的值中參考的 MBean 數超過期望的最大程度
- 該值中參考的 MBean 的一個物件不是該角色期望的 MBean 類別的物件
- 不存在為該角色提供的 MBean
RelationServiceNotRegisteredException
- 如果 Relation Service 未在 MBean Server 中註冊
RelationTypeNotFoundException
- 如果尚未在 Relation Service 中宣告該關係型別
RelationNotFoundException
- 如果尚未在 Relation Service 中添加關係。getRole(java.lang.String)
public RoleResult setRoles(RoleList list) throws IllegalArgumentException, RelationServiceNotRegisteredException, RelationTypeNotFoundException, RelationNotFoundException
將按照其在關係的關係型別中提供的相應角色定義檢查角色。
每個更新的角色將發送一個通知(帶型別 RELATION_BASIC_UPDATE 或 RELATION_MBEAN_UPDATE 的 RelationNotification,具體取決於該關係是否為 MBean)。
Relation
中的 setRoles
list
- 要設置的角色列表
IllegalArgumentException
- 如果角色列表為 null
RelationServiceNotRegisteredException
- 如果 Relation Service 未在 MBean Server 中註冊
RelationTypeNotFoundException
- 如果在 Relation Service 中尚未宣告該關係型別。
RelationNotFoundException
- 如果尚未在 Relation Service 中添加關係 MBean。getRoles(java.lang.String[])
public void handleMBeanUnregistration(ObjectName objectName, String roleName) throws IllegalArgumentException, RoleNotFoundException, InvalidRoleValueException, RelationServiceNotRegisteredException, RelationTypeNotFoundException, RelationNotFoundException
Relation Service 將調用此方法,以讓該關係採取行動來反映這種註銷的影響。
小心,不要期望使用者調用此方法。
當前實作是為了用其當前值(參考的 MBean 的 ObjectName 列表)而不用註銷的值設置角色。
Relation
中的 handleMBeanUnregistration
objectName
- 註銷的 MBean 的 ObjectNameroleName
- 在其中參考 MBean 的角色名稱
IllegalArgumentException
- 如果參數為 null
RoleNotFoundException
- 如果角色不在關係中或不可寫
InvalidRoleValueException
- 如果角色值不遵循相關角色資訊(這永遠不會在從 Relation Service 中調用時發生)
RelationServiceNotRegisteredException
- 如果 Relation Service 未在 MBean Server 註冊
RelationTypeNotFoundException
- 如果在 Relation Service 中尚未宣告該關係型別。
RelationNotFoundException
- 如果未在 Relation Service 中添加的關係 MBean 調用此方法。public Map<ObjectName,List<String>> getReferencedMBeans()
Relation
中的 getReferencedMBeans
ObjectName -> String 的 ArrayList(角色名)
public String getRelationTypeName()
Relation
中的 getRelationTypeName
public ObjectName getRelationServiceName()
Relation
中的 getRelationServiceName
public String getRelationId()
Relation
中的 getRelationId
public ObjectName preRegister(MBeanServer server, ObjectName name) throws Exception
MBeanRegistration
複製的描述
MBeanRegistration
中的 preRegister
server
- 將要在其中註冊該 MBean 的 MBean 伺服器。name
- 該 MBean 的物件名。如果 MBeanServer
介面中的某個 createMBean
方法或 registerMBean
方法的 name 參數為 null,則此 name 也為 null。在這種情況下,此方法必須為新 MBean 返回非 null 的 ObjectName。
name
參數不為 null,則它通常但並非一定為返回值。
Exception
- MBean 伺服器會捕捉此異常並以 MBeanRegistrationException
的形式重新拋出。public void postRegister(Boolean registrationDone)
MBeanRegistration
複製的描述
MBeanRegistration
中的 postRegister
registrationDone
- 指示該 MBean 是否已在 MBean 伺服器中成功註冊。false 值意味著註冊階段已失敗。public void preDeregister() throws Exception
MBeanRegistration
複製的描述
MBeanRegistration
中的 preDeregister
Exception
- MBean 伺服器會捕捉此異常並以 MBeanRegistrationException
的形式重新拋出。public void postDeregister()
MBeanRegistration
複製的描述
MBeanRegistration
中的 postDeregister
public Boolean isInRelationService()
RelationSupportMBean
中的 isInRelationService
Boolean.TRUE
的 Boolean 值;否則,返回等於 Boolean.FALSE
的 Boolean 值。public void setRelationServiceManagementFlag(Boolean flag) throws IllegalArgumentException
RelationSupportMBean
複製的描述指定此關係是否由 Relation Service 處理。
注意,當 Relation Service 通過其管理介面存取該關係時,此方法必須公開。強烈建議不要使用此方法。使用此方法不影響 Relation Service 中的關係物件的註冊,但會提供有關它的錯誤資訊!
RelationSupportMBean
中的 setRelationServiceManagementFlag
flag
- 該關係是否由 Relation Service 處理的標誌。
IllegalArgumentException
- 如果是 null 參數
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。