- 既知のすべての実装クラス:
RelationService
- 導入されたバージョン:
- 1.5
-
メソッドのサマリー
修飾子と型メソッド説明void
addRelation
(ObjectName relationObjectName) ユーザーによって作成されてMBean Serverに登録されるMBeanを、関係として関係サービスに追加します。void
addRelationType
(RelationType relationTypeObj) 指定されたオブジェクトを関係タイプとして追加します。checkRoleReading
(String roleName, String relationTypeName) 指定された型の関係で、指定されたRoleの読取りが可能かどうかをチェックします。checkRoleWriting
(Role role, String relationTypeName, Boolean initFlag) 指定された型の関係で、指定されたRoleの設定が可能かどうかをチェックします。void
createRelation
(String relationId, String relationTypeName, RoleList roleList) 指定された関係タイプの単純な関係(RelationSupportオブジェクト)を作成し、これを関係サービスに追加します。void
createRelationType
(String relationTypeName, RoleInfo[] roleInfoArray) RoleInfoオブジェクトから提供されたロール情報を使って、関係タイプ(RelationTypeSupportオブジェクト)を作成し、関係サービスへ追加します。findAssociatedMBeans
(ObjectName mbeanName, String relationTypeName, String roleName) 関係内の指定されたMBeanに関連付けられたMBeanを取得します。findReferencingRelations
(ObjectName mbeanName, String relationTypeName, String roleName) 指定されたMBeanが参照される関係を取得します。findRelationsOfType
(String relationTypeName) 指定された型の関係の関係IDを返します。関係サービスによって処理されるすべての関係のすべての関係IDを返します。既知のすべての関係タイプの名前を取得します。getAllRoles
(String relationId) 関係に含まれるすべてのロールを返します。boolean
関係内の参照対象のMBeanの登録解除の通知をいつ受信したか、関係をただちに「パージ」(有効でなくなった関係を検索)する必要があるかどうか、またはpurgeRelationsメソッドが明示的に呼び出される場合にのみパージが実行されるかどうかを示すフラグを返します。getReferencedMBeans
(String relationId) 関係のさまざまなロールで参照されるMBeanを取得します。getRelationTypeName
(String relationId) 指定された関係の関係タイプの名前を返します。指定された関係に含まれる指定されたロール名のロール値を取得します。getRoleCardinality
(String relationId, String roleName) 指定されたロール内で現在参照されているMBeanの数を取得します。getRoleInfo
(String relationTypeName, String roleInfoName) 指定された関係タイプの指定されたロールの情報を取得します。getRoleInfos
(String relationTypeName) 指定された関係タイプのロール情報(RoleInfoオブジェクト)のリストを取得します。指定された関係に含まれる指定された名前のロールの値を取得します。hasRelation
(String relationId) 関係サービス内に指定された関係IDで識別される関係があるかどうかをチェックします。void
isActive()
関係サービスがアクティブかどうかをチェックします。isRelation
(ObjectName objectName) MBeanが関係として関係サービスに追加されている場合、指定されたObjectNameに関連付けられる関係IDを返します。isRelationMBean
(String relationId) 関係がMBean (ユーザーによって作成され、関係として関係サービスに追加されたもの)によって表される場合、MBeanのObjectNameを返します。void
関係をパージします。void
removeRelation
(String relationId) 指定された関係タイプを関係サービスから削除します。void
removeRelationType
(String relationTypeName) 指定された関係タイプを関係サービスから削除します。void
sendRelationCreationNotification
(String relationId) 関係作成の通知(RelationNotification)を送信します。void
sendRelationRemovalNotification
(String relationId, List<ObjectName> unregMBeanList) 関係削除の通知(RelationNotification)を送信します。void
sendRoleUpdateNotification
(String relationId, Role newRole, List<ObjectName> oldRoleValue) 指定された関係内のロール更新の通知(RelationNotification)を送信します。void
setPurgeFlag
(boolean purgeFlag) 関係内の参照対象のMBeanの登録解除の通知をいつ受信したか、関係をただちに「パージ」(有効でなくなった関係を検索)する必要があるかどうか、またはpurgeRelationsメソッドが明示的に呼び出される場合にのみパージが実行されるかどうかを示すフラグを設定します。void
指定された関係内の指定されたロールを設定します。指定された関係内の指定されたロールを設定します。void
updateRoleMap
(String relationId, Role newRole, List<ObjectName> oldRoleValue) 指定された関係内の指定されたロールを更新するため、関係サービス・ロール・マップの更新を処理します。
-
メソッドの詳細
-
isActive
void isActive() throws RelationServiceNotRegisteredException関係サービスがアクティブかどうかをチェックします。 現在、関係サービスをMBean Serverに登録する必要があります。- 例外:
RelationServiceNotRegisteredException
- 関係サービスが未登録の場合
-
getPurgeFlag
boolean getPurgeFlag()関係内の参照対象のMBeanの登録解除の通知をいつ受信したか、関係をただちに「パージ」(有効でなくなった関係を検索)する必要があるかどうか、またはpurgeRelationsメソッドが明示的に呼び出される場合にのみパージが実行されるかどうかを示すフラグを返します。trueの場合、ただちにパージを行う必要があります。
- 戻り値:
- ただちにパージを行う必要がある場合はtrue
- 関連項目:
-
setPurgeFlag
void setPurgeFlag(boolean purgeFlag) 関係内の参照対象のMBeanの登録解除の通知をいつ受信したか、関係をただちに「パージ」(有効でなくなった関係を検索)する必要があるかどうか、またはpurgeRelationsメソッドが明示的に呼び出される場合にのみパージが実行されるかどうかを示すフラグを設定します。trueの場合、ただちにパージを行う必要があります。
- パラメータ:
purgeFlag
- フラグ- 関連項目:
-
createRelationType
void createRelationType(String relationTypeName, RoleInfo[] roleInfoArray) throws IllegalArgumentException, InvalidRelationTypeException RoleInfoオブジェクトから提供されたロール情報を使って、関係タイプ(RelationTypeSupportオブジェクト)を作成し、関係サービスへ追加します。- パラメータ:
relationTypeName
- 関係タイプの名前roleInfoArray
- ロール情報の配列- 例外:
IllegalArgumentException
- パラメータがnullの場合InvalidRelationTypeException
- 次の場合:- 同じ名前の関係タイプがすでに存在する場合
- 同じ名前が2つの異なったロール情報で使用されている場合
- ロール情報が提供されなかった場合
- ロール情報としてnullが提供された場合
-
addRelationType
void addRelationType(RelationType relationTypeObj) throws IllegalArgumentException, InvalidRelationTypeException 指定されたオブジェクトを関係タイプとして追加します。 このオブジェクトは、RelationTypeインタフェースを実装する必要があります。- パラメータ:
relationTypeObj
- 関係タイプ・オブジェクト(RelationTypeインタフェースを実装)- 例外:
IllegalArgumentException
- パラメータがnullである場合、またはrelationTypeObj.getRelationTypeName()
がnullを返す場合InvalidRelationTypeException
- 同じ名前の関係タイプがすでに存在する場合
-
getAllRelationTypeNames
既知のすべての関係タイプの名前を取得します。- 戻り値:
- 関係タイプの名前(String)のArrayList
-
getRoleInfos
List<RoleInfo> getRoleInfos(String relationTypeName) throws IllegalArgumentException, RelationTypeNotFoundException 指定された関係タイプのロール情報(RoleInfoオブジェクト)のリストを取得します。- パラメータ:
relationTypeName
- 関係タイプの名前- 戻り値:
- RoleInfoのArrayList
- 例外:
IllegalArgumentException
- パラメータがnullの場合RelationTypeNotFoundException
- その名前の関係タイプが存在しない場合
-
getRoleInfo
RoleInfo getRoleInfo(String relationTypeName, String roleInfoName) throws IllegalArgumentException, RelationTypeNotFoundException, RoleInfoNotFoundException 指定された関係タイプの指定されたロールの情報を取得します。- パラメータ:
relationTypeName
- 関係タイプの名前roleInfoName
- ロール名- 戻り値:
- RoleInfoオブジェクト
- 例外:
IllegalArgumentException
- パラメータがnullの場合RelationTypeNotFoundException
- 関係サービスにとって未知の関係タイプである場合RoleInfoNotFoundException
- 関係タイプにロールが含まれていない場合
-
removeRelationType
void removeRelationType(String relationTypeName) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationTypeNotFoundException 指定された関係タイプを関係サービスから削除します。その型の関係オブジェクトが関係サービスから削除されます。
- パラメータ:
relationTypeName
- 削除される関係タイプの名前- 例外:
RelationServiceNotRegisteredException
- 関係サービスがMBeanサーバーに登録されていない場合IllegalArgumentException
- パラメータがnullの場合RelationTypeNotFoundException
- その名前の関係タイプが存在しない場合
-
createRelation
void createRelation(String relationId, String relationTypeName, RoleList roleList) throws RelationServiceNotRegisteredException, IllegalArgumentException, RoleNotFoundException, InvalidRelationIdException, RelationTypeNotFoundException, InvalidRoleValueException 指定された関係タイプの単純な関係(RelationSupportオブジェクト)を作成し、これを関係サービスに追加します。ロールはパラメータに指定されたロール・リストに従って初期化されます。 この方法で初期化されないロールは、ObjectNameの空のArrayListに設定されます。
RELATION_BASIC_CREATION型のRelationNotificationが送信されます。
- パラメータ:
relationId
- 関係サービス内の関係を一意に識別するために使用される関係識別子relationTypeName
- 関係サービス内に作成する必要がある関係タイプの名前roleList
- 関係のロールを初期化するためのロール・リスト(nullも可)- 例外:
RelationServiceNotRegisteredException
- 関係サービスがMBeanサーバーに登録されていない場合IllegalArgumentException
- パラメータがnullの場合RoleNotFoundException
- 関係タイプ内に存在しないロールに値が提供された場合InvalidRelationIdException
- 関係IDがすでに使用されている場合RelationTypeNotFoundException
- 関係サービスにとって未知の関係タイプである場合InvalidRoleValueException
- 次の場合:- 同じ名前が2つの異なったロールで使用されている場合
- 指定された値に含まれる参照対象のMBeanの数が予想最小値より小さい場合
- 指定された値に含まれる参照対象のMBeanの数が予想最大値を超えている場合
- 値に含まれる参照対象のMBeanのうち1つが、そのロールのMBeanクラスのオブジェクトでない場合
- そのロールのMBeanが存在しない場合
-
addRelation
void addRelation(ObjectName relationObjectName) throws IllegalArgumentException, RelationServiceNotRegisteredException, NoSuchMethodException, InvalidRelationIdException, InstanceNotFoundException, InvalidRelationServiceException, RelationTypeNotFoundException, RoleNotFoundException, InvalidRoleValueException ユーザーによって作成されてMBean Serverに登録されるMBeanを、関係として関係サービスに追加します。MBeanを関係として追加するためには、次の条件が満たされている必要があります。
- Relationインタフェースを実装している
- RelationService ObjectName用として現在の関係サービスのObjectNameを持っている
- 現在の関係サービス内で一意かつ未使用の関係IDを持っている
- 関係タイプ用として関係サービス内で作成された関係タイプを持っている
- 関係タイプ内で提供されたロール情報に適合するロールを持っている
- パラメータ:
relationObjectName
- 追加される関係MBeanのObjectName- 例外:
IllegalArgumentException
- パラメータがnullの場合RelationServiceNotRegisteredException
- 関係サービスがMBeanサーバーに登録されていない場合NoSuchMethodException
- MBeanがRelationインタフェースを実装していない場合InvalidRelationIdException
- 次の場合:- MBean内に関係識別子が存在しない
- 関係識別子が関係サービスですでに使用されている場合
InstanceNotFoundException
- 指定されたObjectNameのMBeanが登録されていない場合InvalidRelationServiceException
- 次の場合:- MBean内に関係サービス名が存在しない場合
- MBean内の関係サービス名が現在の関係サービスの関係サービス名でない場合
RelationTypeNotFoundException
- 次の場合:- MBean内に関係タイプ名が存在しない場合
- MBean内の関係タイプ名が関係サービス内に作成された関係タイプに対応していない場合
InvalidRoleValueException
- 次の場合:- ロールに含まれる参照対象のMBeanの数が予想最小値より小さい場合
- ロールに含まれる参照対象のMBeanの数が予想最大値を超えている場合
- 値に含まれる参照対象のMBeanのうち1つが、そのロールのMBeanクラスのオブジェクトでない場合
- ロールに提供されたMBeanが存在しない場合
RoleNotFoundException
- 関係タイプ内に存在しないロールに値が提供された場合
-
isRelationMBean
ObjectName isRelationMBean(String relationId) throws IllegalArgumentException, RelationNotFoundException 関係がMBean (ユーザーによって作成され、関係として関係サービスに追加されたもの)によって表される場合、MBeanのObjectNameを返します。- パラメータ:
relationId
- 関係を識別する関係ID- 戻り値:
- 対応する関係MBeanのObjectName。関係がMBeanでない場合はnull
- 例外:
IllegalArgumentException
- パラメータがnullの場合RelationNotFoundException
- このIDに関係が関連付けられていない場合
-
isRelation
MBeanが関係として関係サービスに追加されている場合、指定されたObjectNameに関連付けられる関係IDを返します。- パラメータ:
objectName
- 仮定された関係のObjectName- 戻り値:
- 関係ID (String)。ObjectNameが関係サービスによって処理される関係でない場合はnull
- 例外:
IllegalArgumentException
- パラメータがnullの場合
-
hasRelation
関係サービス内に指定された関係IDで識別される関係があるかどうかをチェックします。- パラメータ:
relationId
- 関係を識別する関係ID- 戻り値:
- boolean型。関係が存在する場合はtrue、存在しない場合はfalse
- 例外:
IllegalArgumentException
- パラメータがnullの場合
-
getAllRelationIds
関係サービスによって処理されるすべての関係のすべての関係IDを返します。- 戻り値:
- StringのArrayList
-
checkRoleReading
Integer checkRoleReading(String roleName, String relationTypeName) throws IllegalArgumentException, RelationTypeNotFoundException 指定された型の関係で、指定されたRoleの読取りが可能かどうかをチェックします。- パラメータ:
roleName
- チェックされるロールの名前relationTypeName
- 関係タイプの名前- 戻り値:
- 発生の可能性がある問題に対応する整数型(RoleUnresolved内の定数で表される)をラップするInteger
- ロールの読取りが可能な場合は0
- RoleStatus.NO_ROLE_WITH_NAMEに対応する整数型
- RoleStatus.ROLE_NOT_READABLEに対応する整数型
- 例外:
IllegalArgumentException
- パラメータがnullの場合RelationTypeNotFoundException
- 関係サービスにとって未知の関係タイプである場合
-
checkRoleWriting
Integer checkRoleWriting(Role role, String relationTypeName, Boolean initFlag) throws IllegalArgumentException, RelationTypeNotFoundException 指定された型の関係で、指定されたRoleの設定が可能かどうかをチェックします。- パラメータ:
role
- チェックされるロールrelationTypeName
- 関係タイプの名前initFlag
- ロールの初期化のためにチェックが行われたことを示すフラグ。書込みアクセスの検証は行われない- 戻り値:
- 発生の可能性がある問題に対応する整数型(RoleUnresolved内の定数で表される)をラップするInteger
- ロールの設定が可能な場合は0
- RoleStatus.NO_ROLE_WITH_NAMEに対応する整数型
- RoleStatus.ROLE_NOT_WRITABLEの整数型
- RoleStatus.LESS_THAN_MIN_ROLE_DEGREEの整数型
- RoleStatus.MORE_THAN_MAX_ROLE_DEGREEの整数型
- RoleStatus.REF_MBEAN_OF_INCORRECT_CLASSの整数型
- RoleStatus.REF_MBEAN_NOT_REGISTEREDの整数型
- 例外:
IllegalArgumentException
- パラメータがnullの場合RelationTypeNotFoundException
- 未知の関係タイプの場合
-
sendRelationCreationNotification
void sendRelationCreationNotification(String relationId) throws IllegalArgumentException, RelationNotFoundException 関係作成の通知(RelationNotification)を送信します。 通知型は次のとおりです。- RelationNotification.RELATION_BASIC_CREATION。関係が関係サービスの内部オブジェクトである場合
- RelationNotification.RELATION_MBEAN_CREATION。関係が関係として追加されたMBeanである場合
ソース・オブジェクトは関係サービス自体です。
関係サービスのcreateRelation()メソッドおよびaddRelation()メソッドで呼び出されます。
- パラメータ:
relationId
- 更新された関係の関係識別子- 例外:
IllegalArgumentException
- パラメータがnullの場合RelationNotFoundException
- 指定された関係IDの関係が存在しない場合
-
sendRoleUpdateNotification
void sendRoleUpdateNotification(String relationId, Role newRole, List<ObjectName> oldRoleValue) throws IllegalArgumentException, RelationNotFoundException 指定された関係内のロール更新の通知(RelationNotification)を送信します。 通知型は次のとおりです。- RelationNotification.RELATION_BASIC_UPDATE。関係が関係サービスの内部オブジェクトである場合
- RelationNotification.RELATION_MBEAN_UPDATE。関係が関係として追加されたMBeanである場合
ソース・オブジェクトは関係サービス自体です。
関係MBeanのsetRole()メソッド(指定されたロール用)およびsetRoles()メソッド(各ロール用)で呼び出されます。この実装はRelationSupportクラスで提供されます。
関係サービスのsetRole()メソッド(指定されたロール用)およびsetRoles()メソッド(各ロール用)でも呼び出せます。
- パラメータ:
relationId
- 更新された関係の関係識別子newRole
- 新しいロール(名前と新しい値)oldRoleValue
- 古いロール値(ObjectNameオブジェクトのList)- 例外:
IllegalArgumentException
- パラメータがnullの場合RelationNotFoundException
- 指定された関係IDの関係が存在しない場合
-
sendRelationRemovalNotification
void sendRelationRemovalNotification(String relationId, List<ObjectName> unregMBeanList) throws IllegalArgumentException, RelationNotFoundException 関係削除の通知(RelationNotification)を送信します。 通知型は次のとおりです。- RelationNotification.RELATION_BASIC_REMOVAL。関係が関係サービスの内部オブジェクトである場合
- RelationNotification.RELATION_MBEAN_REMOVAL。関係が関係として追加されたMBeanである場合
ソース・オブジェクトは関係サービス自体です。
関係サービスのremoveRelation()メソッドで呼び出されます。
- パラメータ:
relationId
- 更新された関係の関係識別子unregMBeanList
- 関係の削除の結果、登録解除されるMBeanのObjectNameのリスト(nullも可)- 例外:
IllegalArgumentException
- パラメータがnullの場合RelationNotFoundException
- 指定された関係IDの関係が存在しない場合
-
updateRoleMap
void updateRoleMap(String relationId, Role newRole, List<ObjectName> oldRoleValue) throws IllegalArgumentException, RelationServiceNotRegisteredException, RelationNotFoundException 指定された関係内の指定されたロールを更新するため、関係サービス・ロール・マップの更新を処理します。関係MBeanのsetRole()メソッド(指定されたロール用)およびsetRoles()メソッド(各ロール用)で呼び出されます。この実装はRelationSupportクラスで提供されます。
関係サービスのsetRole()メソッド(指定されたロール用)およびsetRoles()メソッド(各ロール用)でも呼び出せます。
関係サービスがMBeanの登録解除時も整合性を確保し、クエリーを実行できるようにするには、ロールの更新時にこのメソッドを呼び出す必要があります。
- パラメータ:
relationId
- 更新された関係の関係識別子newRole
- 新しいロール(名前と新しい値)oldRoleValue
- 古いロール値(ObjectNameオブジェクトのList)- 例外:
IllegalArgumentException
- パラメータがnullの場合RelationServiceNotRegisteredException
- 関係サービスがMBeanサーバーに登録されていない場合RelationNotFoundException
- 指定されたIDに対応する関係が存在しない場合
-
removeRelation
void removeRelation(String relationId) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationNotFoundException 指定された関係タイプを関係サービスから削除します。RelationNotification通知が送信されます。その型は次のとおりです。
- RelationNotification.RELATION_BASIC_REMOVAL。関係サービス内専用の関係である場合
- RelationNotification.RELATION_MBEAN_REMOVAL。関係がMBeanとして登録されている場合
こうした関係で参照されるMBeanの場合、何も行われません。
- パラメータ:
relationId
- 削除される関係の関係ID- 例外:
RelationServiceNotRegisteredException
- 関係サービスがMBeanサーバーに登録されていない場合IllegalArgumentException
- パラメータがnullの場合RelationNotFoundException
- 指定された関係IDに対応する関係が存在しない場合
-
purgeRelations
void purgeRelations() throws RelationServiceNotRegisteredException関係をパージします。このメソッドは、purgeFlag値に依存します。フラグがtrueに設定されている場合は、関係内の参照対象のMBeanの登録解除を知らせる通知を受信したとき自動的に呼び出されます。フラグがfalseに設定されている場合は呼び出されません。
その場合、関係の整合性を維持するためにこのメソッドを呼び出すかどうかはユーザーが決定します。 MBeanの登録が解除された後ただちにパージが行われない場合、ObjectNameが再利用され、関係内の参照対象の別のMBeanに割り当てられるときにこのpurgeRelations()メソッドを手動で呼び出すと、問題が発生します。これは、新しいMBeanが認識されず、ObjectNameが登録解除されたMBeanに対応すると見なされるからです。
動作は、登録解除されたMBeanが参照されるロールのカーディナリティによって決定されます。
- ロール内のMBean参照を1つ削除したとき参照の数が最小値より少なくなる場合は、関係を削除する必要がある
- MBean参照を削除したあと残った参照の数がカーディナリティ範囲内である場合は、関係を保持し、handleMBeanUnregistration()コールバックを呼び出して更新する
- 例外:
RelationServiceNotRegisteredException
- 関係サービスがMBeanサーバーに登録されていない場合
-
findReferencingRelations
Map<String,List<String>> findReferencingRelations(ObjectName mbeanName, String relationTypeName, String roleName) throws IllegalArgumentException 指定されたMBeanが参照される関係を取得します。これは、CIMの「Reference」および「ReferenceName」オペレーションに対応します。
- パラメータ:
mbeanName
- MBeanのObjectNamerelationTypeName
- nullも可。指定した場合、検索ではそのタイプの関係のみが考慮される。 それ以外の場合、すべての関係タイプが考慮される。roleName
- nullも可。指定した場合、そのロール内のMBeanが参照される関係のみが返される。 それ以外の場合、すべてのロールが考慮される。- 戻り値:
- HashMap。キーは、MBeanが参照される関係の関係ID。各キーの値はロール名のArrayList (MBeanは同じ関係の複数のロール内で参照可能)
- 例外:
IllegalArgumentException
- パラメータがnullの場合
-
findAssociatedMBeans
Map<ObjectName,List<String>> findAssociatedMBeans(ObjectName mbeanName, String relationTypeName, String roleName) throws IllegalArgumentException 関係内の指定されたMBeanに関連付けられたMBeanを取得します。これは、CIMのAssociatorおよびAssociatorNameオペレーションに対応します。
- パラメータ:
mbeanName
- MBeanのObjectNamerelationTypeName
- nullも可。指定した場合、検索ではそのタイプの関係のみが考慮される。 それ以外の場合、すべての関係タイプが考慮される。roleName
- nullも可。指定した場合、そのロール内のMBeanが参照される関係のみが考慮される。 それ以外の場合、すべてのロールが考慮される。- 戻り値:
- HashMap。キーは指定されたMBeanに関連付けられたMBeanのObjectName。各キーの値は、キーMBeanが指定されたMBeanに関連付けられている関係の関係IDから成るArrayList (これらは複数の異なった関係に関連付け可能)
- 例外:
IllegalArgumentException
- パラメータがnullの場合
-
findRelationsOfType
List<String> findRelationsOfType(String relationTypeName) throws IllegalArgumentException, RelationTypeNotFoundException 指定された型の関係の関係IDを返します。- パラメータ:
relationTypeName
- 関係タイプの名前- 戻り値:
- 関係IDのArrayList
- 例外:
IllegalArgumentException
- パラメータがnullの場合RelationTypeNotFoundException
- その名前の関係タイプが存在しない場合
-
getRole
List<ObjectName> getRole(String relationId, String roleName) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationNotFoundException, RoleNotFoundException 指定された関係に含まれる指定されたロール名のロール値を取得します。- パラメータ:
relationId
- 関係IDroleName
- ロール名- 戻り値:
- ロール値となるObjectNameオブジェクトのArrayList
- 例外:
RelationServiceNotRegisteredException
- 関係サービスが未登録の場合IllegalArgumentException
- パラメータがnullの場合RelationNotFoundException
- 指定されたIDに対応する関係が存在しない場合RoleNotFoundException
- 次の場合:- 指定された名前のロールが存在しない場合
または
- ロールが読取り不可な場合
- 関連項目:
-
getRoles
RoleResult getRoles(String relationId, String[] roleNameArray) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationNotFoundException 指定された関係に含まれる指定された名前のロールの値を取得します。- パラメータ:
relationId
- 関係IDroleNameArray
- 取得されるロールの名前から成る配列- 戻り値:
- RoleResultオブジェクト。取得に成功したロールのRoleListと取得されなかったロールのRoleUnresolvedListを含む
- 例外:
RelationServiceNotRegisteredException
- 関係サービスがMBeanサーバーに登録されていない場合IllegalArgumentException
- パラメータがnullの場合RelationNotFoundException
- 指定されたIDに対応する関係が存在しない場合- 関連項目:
-
getAllRoles
RoleResult getAllRoles(String relationId) throws IllegalArgumentException, RelationNotFoundException, RelationServiceNotRegisteredException 関係に含まれるすべてのロールを返します。- パラメータ:
relationId
- 関係ID- 戻り値:
- RoleResultオブジェクト。取得に成功したロールのRoleListと読み取れなかったロールのRoleUnresolvedListを含む。
- 例外:
IllegalArgumentException
- パラメータがnullの場合RelationNotFoundException
- 指定されたIDに対応する関係が存在しない場合RelationServiceNotRegisteredException
- 関係サービスがMBeanサーバーに登録されていない場合
-
getRoleCardinality
Integer getRoleCardinality(String relationId, String roleName) throws IllegalArgumentException, RelationNotFoundException, RoleNotFoundException 指定されたロール内で現在参照されているMBeanの数を取得します。- パラメータ:
relationId
- 関係IDroleName
- ロール名- 戻り値:
- ロール内の現在参照されているMBeanの数
- 例外:
IllegalArgumentException
- パラメータがnullの場合RelationNotFoundException
- 指定されたIDに対応する関係が存在しない場合RoleNotFoundException
- 指定された名前のロールが存在しない場合
-
setRole
void setRole(String relationId, Role role) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationNotFoundException, RoleNotFoundException, InvalidRoleValueException, RelationTypeNotFoundException 指定された関係内の指定されたロールを設定します。関係の関係タイプに含まれている対応するロール定義に従って、ロールをチェックします。
関係サービスは、関係の整合性を維持するため、参照対象のMBeanの登録解除を処理することにより、変更を追跡します。
- パラメータ:
relationId
- 関係IDrole
- 設定されるロール(名前と新しい値)- 例外:
RelationServiceNotRegisteredException
- 関係サービスがMBeanサーバーに登録されていない場合IllegalArgumentException
- パラメータがnullの場合RelationNotFoundException
- 指定されたIDに対応する関係が存在しない場合RoleNotFoundException
- 次の場合:- 内部関係
および
- ロールが存在しないか、書込み不可
InvalidRoleValueException
- ロールに対して提供された内部関係および値が無効な場合:- 指定された値に含まれる参照対象のMBeanの数が予想最小値より小さい場合
または
- 指定された値に含まれる参照対象のMBeanの数が予想最大値を超えている場合
または
- 値に含まれる参照対象のMBeanのうち1つが、そのロールのMBeanクラスのオブジェクトでない場合
または
- そのロールのMBeanが存在しない場合
RelationTypeNotFoundException
- 未知の関係タイプの場合- 関連項目:
-
setRoles
RoleResult setRoles(String relationId, RoleList roleList) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationNotFoundException 指定された関係内の指定されたロールを設定します。関係の関係タイプに含まれている対応するロール定義に従って、ロールをチェックします。
関係サービスは、関係の整合性を維持するため、参照対象のMBeanの登録解除を処理することにより、変更を追跡します。
- パラメータ:
relationId
- 関係IDroleList
- 設定されるロールのリスト- 戻り値:
- RoleResultオブジェクト。設定に成功したロールのRoleListと設定されなかったロールのRoleUnresolvedListを含む
- 例外:
RelationServiceNotRegisteredException
- 関係サービスがMBeanサーバーに登録されていない場合IllegalArgumentException
- パラメータがnullの場合RelationNotFoundException
- 指定されたIDに対応する関係が存在しない場合- 関連項目:
-
getReferencedMBeans
Map<ObjectName,List<String>> getReferencedMBeans(String relationId) throws IllegalArgumentException, RelationNotFoundException 関係のさまざまなロールで参照されるMBeanを取得します。- パラメータ:
relationId
- 関係ID- 戻り値:
- HashMapマッピング:
ObjectName→String (ロール名)から成るArrayList
- 例外:
IllegalArgumentException
- パラメータがnullの場合RelationNotFoundException
- 指定された関係IDに対応する関係が存在しない場合
-
getRelationTypeName
String getRelationTypeName(String relationId) throws IllegalArgumentException, RelationNotFoundException 指定された関係の関係タイプの名前を返します。- パラメータ:
relationId
- 関係ID- 戻り値:
- 関連付けられた関係タイプの名前
- 例外:
IllegalArgumentException
- パラメータがnullの場合RelationNotFoundException
- 指定された関係IDに対応する関係が存在しない場合
-