- すべての実装されたインタフェース:
- EventListener,- MBeanRegistration,- NotificationBroadcaster,- NotificationEmitter,- NotificationListener,- RelationServiceMBean
public class RelationService extends NotificationBroadcasterSupport implements RelationServiceMBean, MBeanRegistration, NotificationListener
関係サービスは、関係の削除時に通知を送信するため、NotificationBroadcasterSupportを拡張することによってNotificationBroadcasterを実装します。
また、関係ロール内の参照対象のMBeanおよび関係MBeanの登録解除に関する通知を受信できるようにするため、NotificationListenerインタフェースを実装します。
さらに、ObjectNameとMBean Serverを取得できるように、MBeanRegistrationインタフェースを実装します。
- 導入されたバージョン:
- 1.5
- 
コンストラクタのサマリーコンストラクタ コンストラクタ 説明 RelationService(boolean immediatePurgeFlag)コンストラクタです。
- 
メソッドのサマリー修飾子と型 メソッド 説明 voidaddRelation(ObjectName relationObjectName)ユーザーによって作成されてMBean Serverに登録されるMBeanを、関係として関係サービスに追加します。voidaddRelationType(RelationType relationTypeObj)指定されたオブジェクトを関係タイプとして追加します。IntegercheckRoleReading(String roleName, String relationTypeName)指定された型の関係で、指定されたRoleの読取りが可能かどうかをチェックします。IntegercheckRoleWriting(Role role, String relationTypeName, Boolean initFlag)指定された型の関係で、指定されたRoleの設定が可能かどうかをチェックします。voidcreateRelation(String relationId, String relationTypeName, RoleList roleList)指定された関係タイプの単純な関係(RelationSupportオブジェクト)を作成し、これを関係サービスに追加します。voidcreateRelationType(String relationTypeName, RoleInfo[] roleInfoArray)RoleInfoオブジェクトから提供されたロール情報を使って、関係タイプ(RelationTypeSupportオブジェクト)を作成し、関係サービスへ追加します。Map<ObjectName,List<String>>findAssociatedMBeans(ObjectName mbeanName, String relationTypeName, String roleName)関係内の指定されたMBeanに関連付けられたMBeanを取得します。Map<String,List<String>>findReferencingRelations(ObjectName mbeanName, String relationTypeName, String roleName)指定されたMBeanが参照される関係を取得します。List<String>findRelationsOfType(String relationTypeName)指定された型の関係の関係IDを返します。List<String>getAllRelationIds()関係サービスによって処理されるすべての関係のすべての関係IDを返します。List<String>getAllRelationTypeNames()既知のすべての関係タイプの名前を取得します。RoleResultgetAllRoles(String relationId)関係に含まれるすべてのロールを返します。MBeanNotificationInfo[]getNotificationInfo()送信される通知のJavaクラス名と通知タイプを含むNotificationInfoオブジェクトを返します。booleangetPurgeFlag()関係内の参照対象のMBeanの登録解除の通知をいつ受信したか、関係をただちに「パージ」(有効でなくなった関係を検索)する必要があるかどうか、またはpurgeRelationsメソッドが明示的に呼び出される場合にのみパージが実行されるかどうかを示すフラグを返します。Map<ObjectName,List<String>>getReferencedMBeans(String relationId)関係のさまざまなロールで参照されるMBeanを取得します。StringgetRelationTypeName(String relationId)指定された関係の関係タイプの名前を返します。List<ObjectName>getRole(String relationId, String roleName)指定された関係に含まれる指定されたロール名のロール値を取得します。IntegergetRoleCardinality(String relationId, String roleName)指定されたロール内で現在参照されているMBeanの数を取得します。RoleInfogetRoleInfo(String relationTypeName, String roleInfoName)指定された関係タイプの指定されたロール名のロール情報を取得します。List<RoleInfo>getRoleInfos(String relationTypeName)指定された関係タイプのロール情報(RoleInfoオブジェクト)のリストを取得します。RoleResultgetRoles(String relationId, String[] roleNameArray)指定された関係に含まれる指定された名前のロールの値を取得します。voidhandleNotification(Notification notif, Object handback)JMX通知が発生したとき呼び出されます。BooleanhasRelation(String relationId)関係サービス内に指定された関係IDで識別される関係があるかどうかをチェックします。voidisActive()関係サービスがアクティブかどうかをチェックします。StringisRelation(ObjectName objectName)MBeanが関係として関係サービスに追加されている場合、指定されたObjectNameに関連付けられる関係IDを返します。ObjectNameisRelationMBean(String relationId)関係がMBean (ユーザーによって作成され、関係として関係サービスに追加されたもの)によって表される場合、MBeanのObjectNameを返します。voidpurgeRelations()関係をパージします。voidremoveRelation(String relationId)指定された関係タイプを関係サービスから削除します。voidremoveRelationType(String relationTypeName)指定された関係タイプを関係サービスから削除します。voidsendRelationCreationNotification(String relationId)関係作成の通知(RelationNotification)を送信します。voidsendRelationRemovalNotification(String relationId, List<ObjectName> unregMBeanList)関係削除の通知(RelationNotification)を送信します。voidsendRoleUpdateNotification(String relationId, Role newRole, List<ObjectName> oldValue)指定された関係内のロール更新の通知(RelationNotification)を送信します。voidsetPurgeFlag(boolean purgeFlag)関係内の参照対象のMBeanの登録解除の通知をいつ受信したか、関係をただちに「パージ」(有効でなくなった関係を検索)する必要があるかどうか、またはpurgeRelationsメソッドが明示的に呼び出される場合にのみパージが実行されるかどうかを示すフラグを設定します。voidsetRole(String relationId, Role role)指定された関係内の指定されたロールを設定します。RoleResultsetRoles(String relationId, RoleList roleList)指定された関係内の指定されたロールを設定します。voidupdateRoleMap(String relationId, Role newRole, List<ObjectName> oldValue)指定された関係内の指定されたロールを更新するため、関係サービス・ロール・マップの更新を処理します。クラス javax.management.NotificationBroadcasterSupportで宣言されたメソッドaddNotificationListener, handleNotification, sendNotificationクラス java.lang.Objectで宣言されたメソッドclone、equals、finalize、getClass、hashCode、notify、notifyAll、toString、wait、wait、waitインタフェース javax.management.MBeanRegistrationで宣言されたメソッドpostDeregister, postRegister, preDeregister, preRegister
- 
コンストラクタの詳細- 
RelationServicepublic RelationService(boolean immediatePurgeFlag)コンストラクタです。- パラメータ:
- immediatePurgeFlag- 関係内の参照対象のMBeanの登録解除の通知をいつ受信したか、関係をただちに「パージ」(有効でなくなった関係を検索)する必要があるかどうか、またはpurgeRelationsメソッドが明示的に呼び出される場合にのみパージが実行されるかどうかを示すフラグ。- trueの場合、ただちにパージを行う必要があります。 
 
 
- 
- 
メソッドの詳細- 
isActivepublic void isActive() throws RelationServiceNotRegisteredException関係サービスがアクティブかどうかをチェックします。 現在、関係サービスをMBean Serverに登録する必要があります。- 定義:
- isActive、インタフェース:- RelationServiceMBean
- 例外:
- RelationServiceNotRegisteredException- 関係サービスが未登録の場合
 
- 
getPurgeFlagpublic boolean getPurgeFlag()関係内の参照対象のMBeanの登録解除の通知をいつ受信したか、関係をただちに「パージ」(有効でなくなった関係を検索)する必要があるかどうか、またはpurgeRelationsメソッドが明示的に呼び出される場合にのみパージが実行されるかどうかを示すフラグを返します。trueの場合、ただちにパージを行う必要があります。 - 定義:
- getPurgeFlag、インタフェース:- RelationServiceMBean
- 戻り値:
- 自動的にパージが行われる場合はtrue
- 関連項目:
- setPurgeFlag(boolean)
 
- 
setPurgeFlagpublic void setPurgeFlag(boolean purgeFlag)関係内の参照対象のMBeanの登録解除の通知をいつ受信したか、関係をただちに「パージ」(有効でなくなった関係を検索)する必要があるかどうか、またはpurgeRelationsメソッドが明示的に呼び出される場合にのみパージが実行されるかどうかを示すフラグを設定します。trueの場合、ただちにパージを行う必要があります。 - 定義:
- setPurgeFlag、インタフェース:- RelationServiceMBean
- パラメータ:
- purgeFlag- フラグ
- 関連項目:
- getPurgeFlag()
 
- 
createRelationTypepublic void createRelationType(String relationTypeName, RoleInfo[] roleInfoArray) throws IllegalArgumentException, InvalidRelationTypeExceptionRoleInfoオブジェクトから提供されたロール情報を使って、関係タイプ(RelationTypeSupportオブジェクト)を作成し、関係サービスへ追加します。- 定義:
- createRelationType、インタフェース:- RelationServiceMBean
- パラメータ:
- relationTypeName- 関係タイプの名前
- roleInfoArray- ロール情報の配列
- 例外:
- IllegalArgumentException- パラメータがnullの場合
- InvalidRelationTypeException- 次の場合:- - 同じ名前の関係タイプがすでに存在する場合 - - 同じ名前が2つの異なったロール情報で使用されている場合 - - ロール情報が提供されなかった場合 - - ロール情報としてnullが提供された場合 
 
- 
addRelationTypepublic void addRelationType(RelationType relationTypeObj) throws IllegalArgumentException, InvalidRelationTypeException指定されたオブジェクトを関係タイプとして追加します。 このオブジェクトは、RelationTypeインタフェースを実装する必要があります。- 定義:
- addRelationType、インタフェース:- RelationServiceMBean
- パラメータ:
- relationTypeObj- 関係タイプ・オブジェクト(RelationTypeインタフェースを実装)
- 例外:
- IllegalArgumentException- パラメータがnullである場合、または- relationTypeObj.getRelationTypeName()がnullを返す場合
- InvalidRelationTypeException- 次の場合:- - 同じ名前が2つの異なったロールで使用されている場合 - - ロール情報が提供されなかった場合 - - ロール情報としてnullが提供された場合 - - 同じ名前の関係タイプがすでに存在する場合 
 
- 
getAllRelationTypeNames既知のすべての関係タイプの名前を取得します。- 定義:
- getAllRelationTypeNames、インタフェース:- RelationServiceMBean
- 戻り値:
- 関係タイプの名前(String)のArrayList
 
- 
getRoleInfospublic List<RoleInfo> getRoleInfos(String relationTypeName) throws IllegalArgumentException, RelationTypeNotFoundException指定された関係タイプのロール情報(RoleInfoオブジェクト)のリストを取得します。- 定義:
- getRoleInfos、インタフェース:- RelationServiceMBean
- パラメータ:
- relationTypeName- 関係タイプの名前
- 戻り値:
- RoleInfoのArrayList
- 例外:
- IllegalArgumentException- パラメータがnullの場合
- RelationTypeNotFoundException- その名前の関係タイプが存在しない場合
 
- 
getRoleInfopublic RoleInfo getRoleInfo(String relationTypeName, String roleInfoName) throws IllegalArgumentException, RelationTypeNotFoundException, RoleInfoNotFoundException指定された関係タイプの指定されたロール名のロール情報を取得します。- 定義:
- getRoleInfo、インタフェース:- RelationServiceMBean
- パラメータ:
- relationTypeName- 関係タイプの名前
- roleInfoName- ロール名
- 戻り値:
- RoleInfoオブジェクト
- 例外:
- IllegalArgumentException- パラメータがnullの場合
- RelationTypeNotFoundException- 関係サービスにとって未知の関係タイプである場合
- RoleInfoNotFoundException- 関係タイプにロールが含まれていない場合
 
- 
removeRelationTypepublic void removeRelationType(String relationTypeName) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationTypeNotFoundException指定された関係タイプを関係サービスから削除します。その型の関係オブジェクトが関係サービスから削除されます。 - 定義:
- removeRelationType、インタフェース:- RelationServiceMBean
- パラメータ:
- relationTypeName- 削除される関係タイプの名前
- 例外:
- RelationServiceNotRegisteredException- 関係サービスがMBeanサーバーに登録されていない場合
- IllegalArgumentException- パラメータがnullの場合
- RelationTypeNotFoundException- その名前の関係タイプが存在しない場合
 
- 
createRelationpublic void createRelation(String relationId, String relationTypeName, RoleList roleList) throws RelationServiceNotRegisteredException, IllegalArgumentException, RoleNotFoundException, InvalidRelationIdException, RelationTypeNotFoundException, InvalidRoleValueException指定された関係タイプの単純な関係(RelationSupportオブジェクト)を作成し、これを関係サービスに追加します。ロールはパラメータに指定されたロール・リストに従って初期化されます。 この方法で初期化されないロールは、ObjectNameの空のArrayListに設定されます。 RELATION_BASIC_CREATION型のRelationNotificationが送信されます。 - 定義:
- createRelation、インタフェース:- RelationServiceMBean
- パラメータ:
- relationId- 関係サービス内の関係を一意に識別するために使用される関係識別子
- relationTypeName- 関係サービス内に作成する必要がある関係タイプの名前
- roleList- 関係のロールを初期化するためのロール・リスト(nullも可)
- 例外:
- RelationServiceNotRegisteredException- 関係サービスがMBeanサーバーに登録されていない場合
- IllegalArgumentException- パラメータがnullの場合。ただし、ロールの初期化が行われない場合nullにすることができるロール・リストを除く
- RoleNotFoundException- 関係タイプ内に存在しないロールに値が提供された場合
- InvalidRelationIdException- 関係IDがすでに使用されている場合
- RelationTypeNotFoundException- 関係サービスにとって未知の関係タイプである場合
- InvalidRoleValueException- 次の場合:- - 同じ名前が2つの異なったロールで使用されている場合 - - 指定された値に含まれる参照対象のMBeanの数が予想最小値より小さい場合 - - 指定された値に含まれる参照対象のMBeanの数が予想最大値を超えている場合 - - 値に含まれる参照対象のMBeanのうち1つが、そのロールのMBeanクラスのオブジェクトでない場合 - - そのロールのMBeanが存在しない場合 
 
- 
addRelationpublic void addRelation(ObjectName relationObjectName) throws IllegalArgumentException, RelationServiceNotRegisteredException, NoSuchMethodException, InvalidRelationIdException, InstanceNotFoundException, InvalidRelationServiceException, RelationTypeNotFoundException, RoleNotFoundException, InvalidRoleValueExceptionユーザーによって作成されてMBean Serverに登録されるMBeanを、関係として関係サービスに追加します。MBeanを関係として追加するためには、次の条件が満たされている必要があります。 - Relationインタフェースを実装している - RelationService ObjectName用として現在の関係サービスのObjectNameを持っている - 現在の関係サービス内で一意かつ未使用の関係IDを持っている - 関係タイプ用として関係サービス内で作成された関係タイプを持っている - 関係タイプ内で提供されたロール情報に適合するロールを持っている - 定義:
- addRelation、インタフェース:- RelationServiceMBean
- パラメータ:
- 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- 関係タイプ内に存在しないロールに値が提供された場合
 
- 
isRelationMBeanpublic ObjectName isRelationMBean(String relationId) throws IllegalArgumentException, RelationNotFoundException関係がMBean (ユーザーによって作成され、関係として関係サービスに追加されたもの)によって表される場合、MBeanのObjectNameを返します。- 定義:
- isRelationMBean、インタフェース:- RelationServiceMBean
- パラメータ:
- relationId- 関係を識別する関係ID
- 戻り値:
- 対応する関係MBeanのObjectName。関係がMBeanでない場合はnull
- 例外:
- IllegalArgumentException- パラメータがnullの場合
- RelationNotFoundException- このIDに関係が関連付けられていない場合
 
- 
isRelationpublic String isRelation(ObjectName objectName) throws IllegalArgumentExceptionMBeanが関係として関係サービスに追加されている場合、指定されたObjectNameに関連付けられる関係IDを返します。- 定義:
- isRelation、インタフェース:- RelationServiceMBean
- パラメータ:
- objectName- 仮定された関係のObjectName
- 戻り値:
- 関係ID (String)。ObjectNameが関係サービスによって処理される関係でない場合はnull
- 例外:
- IllegalArgumentException- パラメータがnullの場合
 
- 
hasRelationpublic Boolean hasRelation(String relationId) throws IllegalArgumentException関係サービス内に指定された関係IDで識別される関係があるかどうかをチェックします。- 定義:
- hasRelation、インタフェース:- RelationServiceMBean
- パラメータ:
- relationId- 関係を識別する関係ID
- 戻り値:
- boolean型。関係が存在する場合はtrue、存在しない場合はfalse
- 例外:
- IllegalArgumentException- パラメータがnullの場合
 
- 
getAllRelationIds関係サービスによって処理されるすべての関係のすべての関係IDを返します。- 定義:
- getAllRelationIds、インタフェース:- RelationServiceMBean
- 戻り値:
- StringのArrayList
 
- 
checkRoleReadingpublic Integer checkRoleReading(String roleName, String relationTypeName) throws IllegalArgumentException, RelationTypeNotFoundException指定された型の関係で、指定されたRoleの読取りが可能かどうかをチェックします。- 定義:
- checkRoleReading、インタフェース:- RelationServiceMBean
- パラメータ:
- roleName- チェックされるロールの名前
- relationTypeName- 関係タイプの名前
- 戻り値:
- 発生の可能性がある問題に対応する整数型(RoleUnresolved内の定数で表される)をラップするInteger
 - ロールの読取りが可能な場合は0 - RoleStatus.NO_ROLE_WITH_NAMEに対応する整数型 - RoleStatus.ROLE_NOT_READABLEに対応する整数型 
- 例外:
- IllegalArgumentException- パラメータがnullの場合
- RelationTypeNotFoundException- 関係サービスにとって未知の関係タイプである場合
 
- 
checkRoleWritingpublic Integer checkRoleWriting(Role role, String relationTypeName, Boolean initFlag) throws IllegalArgumentException, RelationTypeNotFoundException指定された型の関係で、指定されたRoleの設定が可能かどうかをチェックします。- 定義:
- checkRoleWriting、インタフェース:- RelationServiceMBean
- パラメータ:
- 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- 未知の関係タイプの場合
 
- 
sendRelationCreationNotificationpublic void sendRelationCreationNotification(String relationId) throws IllegalArgumentException, RelationNotFoundException関係作成の通知(RelationNotification)を送信します。 通知型は次のとおりです。- RelationNotification.RELATION_BASIC_CREATION。関係が関係サービスの内部オブジェクトである場合 - RelationNotification.RELATION_MBEAN_CREATION。関係が関係として追加されたMBeanである場合 ソース・オブジェクトは関係サービス自体です。 関係サービスのcreateRelation()メソッドおよびaddRelation()メソッドで呼び出されます。 - 定義:
- sendRelationCreationNotification、インタフェース:- RelationServiceMBean
- パラメータ:
- relationId- 更新された関係の関係識別子
- 例外:
- IllegalArgumentException- パラメータがnullの場合
- RelationNotFoundException- 指定された関係IDの関係が存在しない場合
 
- 
sendRoleUpdateNotificationpublic void sendRoleUpdateNotification(String relationId, Role newRole, List<ObjectName> oldValue) throws IllegalArgumentException, RelationNotFoundException指定された関係内のロール更新の通知(RelationNotification)を送信します。 通知型は次のとおりです。- RelationNotification.RELATION_BASIC_UPDATE。関係が関係サービスの内部オブジェクトである場合 - RelationNotification.RELATION_MBEAN_UPDATE。関係が関係として追加されたMBeanである場合 ソース・オブジェクトは関係サービス自体です。 関係MBeanのsetRole()メソッド(指定されたロール用)およびsetRoles()メソッド(各ロール用)で呼び出されます。この実装はRelationSupportクラスで提供されます。 関係サービスのsetRole()メソッド(指定されたロール用)およびsetRoles()メソッド(各ロール用)でも呼び出せます。 - 定義:
- sendRoleUpdateNotification、インタフェース:- RelationServiceMBean
- パラメータ:
- relationId- 更新された関係の関係識別子
- newRole- 新しいロール(名前と新しい値)
- oldValue- 古いロール値(ObjectNameオブジェクトのList)
- 例外:
- IllegalArgumentException- パラメータがnullの場合
- RelationNotFoundException- 指定された関係IDの関係が存在しない場合
 
- 
sendRelationRemovalNotificationpublic void sendRelationRemovalNotification(String relationId, List<ObjectName> unregMBeanList) throws IllegalArgumentException, RelationNotFoundException関係削除の通知(RelationNotification)を送信します。 通知型は次のとおりです。- RelationNotification.RELATION_BASIC_REMOVAL。関係が関係サービスの内部オブジェクトである場合 - RelationNotification.RELATION_MBEAN_REMOVAL。関係が関係として追加されたMBeanである場合 ソース・オブジェクトは関係サービス自体です。 関係サービスのremoveRelation()メソッドで呼び出されます。 - 定義:
- sendRelationRemovalNotification、インタフェース:- RelationServiceMBean
- パラメータ:
- relationId- 更新された関係の関係識別子
- unregMBeanList- 関係の削除の結果、登録解除されるMBeanのObjectNameのリスト(nullも可)
- 例外:
- IllegalArgumentException- パラメータがnullの場合
- RelationNotFoundException- 指定された関係IDの関係が存在しない場合
 
- 
updateRoleMappublic void updateRoleMap(String relationId, Role newRole, List<ObjectName> oldValue) throws IllegalArgumentException, RelationServiceNotRegisteredException, RelationNotFoundException指定された関係内の指定されたロールを更新するため、関係サービス・ロール・マップの更新を処理します。関係MBeanのsetRole()メソッド(指定されたロール用)およびsetRoles()メソッド(各ロール用)で呼び出されます。この実装はRelationSupportクラスで提供されます。 関係サービスのsetRole()メソッド(指定されたロール用)およびsetRoles()メソッド(各ロール用)でも呼び出せます。 関係サービスがMBeanの登録解除時も整合性を確保し、クエリーを実行できるようにするには、ロールの更新時にこのメソッドを呼び出す必要があります。 - 定義:
- updateRoleMap、インタフェース:- RelationServiceMBean
- パラメータ:
- relationId- 更新された関係の関係識別子
- newRole- 新しいロール(名前と新しい値)
- oldValue- 古いロール値(ObjectNameオブジェクトのList)
- 例外:
- IllegalArgumentException- パラメータがnullの場合
- RelationServiceNotRegisteredException- 関係サービスがMBeanサーバーに登録されていない場合
- RelationNotFoundException- 指定されたIDに対応する関係が存在しない場合
 
- 
removeRelationpublic void removeRelation(String relationId) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationNotFoundException指定された関係タイプを関係サービスから削除します。RelationNotification通知が送信されます。その型は次のとおりです。 - RelationNotification.RELATION_BASIC_REMOVAL。関係サービス内専用の関係である場合 - RelationNotification.RELATION_MBEAN_REMOVAL。関係がMBeanとして登録されている場合 こうした関係で参照されるMBeanの場合、何も行われません。 - 定義:
- removeRelation、インタフェース:- RelationServiceMBean
- パラメータ:
- relationId- 削除される関係の関係ID
- 例外:
- RelationServiceNotRegisteredException- 関係サービスがMBeanサーバーに登録されていない場合
- IllegalArgumentException- パラメータがnullの場合
- RelationNotFoundException- 指定された関係IDに対応する関係が存在しない場合
 
- 
purgeRelationspublic void purgeRelations() throws RelationServiceNotRegisteredException関係をパージします。このメソッドは、purgeFlag値に依存します。フラグがtrueに設定されている場合は、関係内の参照対象のMBeanの登録解除を知らせる通知を受信したとき自動的に呼び出されます。フラグがfalseに設定されている場合は呼び出されません。 その場合、関係の整合性を維持するためにこのメソッドを呼び出すかどうかはユーザーが決定します。 MBeanの登録が解除された後ただちにパージが行われない場合、ObjectNameが再利用され、関係内の参照対象の別のMBeanに割り当てられるときにこのpurgeRelations()メソッドを手動で呼び出すと、問題が発生します。これは、新しいMBeanが認識されず、ObjectNameが登録解除されたMBeanに対応すると見なされるからです。 動作は、登録解除されたMBeanが参照されるロールのカーディナリティによって決定されます。 - ロール内のMBean参照を1つ削除したとき参照の数が最小値より少なくなる場合は、関係を削除する必要がある - MBean参照を削除したあと残った参照の数がカーディナリティ範囲内である場合は、関係を保持し、handleMBeanUnregistration()コールバックを呼び出して更新する - 定義:
- purgeRelations、インタフェース:- RelationServiceMBean
- 例外:
- RelationServiceNotRegisteredException- 関係サービスがMBeanサーバーに登録されていない場合
 
- 
findReferencingRelationspublic Map<String,List<String>> findReferencingRelations(ObjectName mbeanName, String relationTypeName, String roleName) throws IllegalArgumentException指定されたMBeanが参照される関係を取得します。これは、CIMの「Reference」および「ReferenceName」オペレーションに対応します。 - 定義:
- findReferencingRelations、インタフェース:- RelationServiceMBean
- パラメータ:
- mbeanName- MBeanのObjectName
- relationTypeName- nullも可。指定した場合、検索ではそのタイプの関係のみが考慮される。 それ以外の場合、すべての関係タイプが考慮される。
- roleName- nullも可。指定した場合、そのロール内のMBeanが参照される関係のみが返される。 それ以外の場合、すべてのロールが考慮される。
- 戻り値:
- HashMap。キーは、MBeanが参照される関係の関係ID。各キーの値はロール名のArrayList (MBeanは同じ関係の複数のロール内で参照可能)
- 例外:
- IllegalArgumentException- パラメータがnullの場合
 
- 
findAssociatedMBeanspublic Map<ObjectName,List<String>> findAssociatedMBeans(ObjectName mbeanName, String relationTypeName, String roleName) throws IllegalArgumentException関係内の指定されたMBeanに関連付けられたMBeanを取得します。これは、CIMのAssociatorおよびAssociatorNameオペレーションに対応します。 - 定義:
- findAssociatedMBeans、インタフェース:- RelationServiceMBean
- パラメータ:
- mbeanName- MBeanのObjectName
- relationTypeName- nullも可。指定した場合、検索ではそのタイプの関係のみが考慮される。 それ以外の場合、すべての関係タイプが考慮される。
- roleName- nullも可。指定した場合、そのロール内のMBeanが参照される関係のみが考慮される。 それ以外の場合、すべてのロールが考慮される。
- 戻り値:
- HashMap。キーは指定されたMBeanに関連付けられたMBeanのObjectName。各キーの値は、キーMBeanが指定されたMBeanに関連付けられている関係の関係IDから成るArrayList (これらは複数の異なった関係に関連付け可能)
- 例外:
- IllegalArgumentException- パラメータがnullの場合
 
- 
findRelationsOfTypepublic List<String> findRelationsOfType(String relationTypeName) throws IllegalArgumentException, RelationTypeNotFoundException指定された型の関係の関係IDを返します。- 定義:
- findRelationsOfType、インタフェース:- RelationServiceMBean
- パラメータ:
- relationTypeName- 関係タイプの名前
- 戻り値:
- 関係IDのArrayList
- 例外:
- IllegalArgumentException- パラメータがnullの場合
- RelationTypeNotFoundException- その名前の関係タイプが存在しない場合
 
- 
getRolepublic List<ObjectName> getRole(String relationId, String roleName) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationNotFoundException, RoleNotFoundException指定された関係に含まれる指定されたロール名のロール値を取得します。- 定義:
- getRole、インタフェース:- RelationServiceMBean
- パラメータ:
- relationId- 関係ID
- roleName- ロール名
- 戻り値:
- ロール値となるObjectNameオブジェクトのArrayList
- 例外:
- RelationServiceNotRegisteredException- 関係サービスが未登録の場合
- IllegalArgumentException- パラメータがnullの場合
- RelationNotFoundException- 指定されたIDに対応する関係が存在しない場合
- RoleNotFoundException- 次の場合:- - 指定された名前のロールが存在しない場合 - or - - ロールが読取り不可な場合 
- 関連項目:
- setRole(java.lang.String, javax.management.relation.Role)
 
- 
getRolespublic RoleResult getRoles(String relationId, String[] roleNameArray) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationNotFoundException指定された関係に含まれる指定された名前のロールの値を取得します。- 定義:
- getRoles、インタフェース:- RelationServiceMBean
- パラメータ:
- relationId- 関係ID
- roleNameArray- 取得されるロールの名前から成る配列
- 戻り値:
- RoleResultオブジェクト。取得に成功したロールのRoleListと取得されなかったロールのRoleUnresolvedListを含む
- 例外:
- RelationServiceNotRegisteredException- 関係サービスがMBeanサーバーに登録されていない場合
- IllegalArgumentException- パラメータがnullの場合
- RelationNotFoundException- 指定されたIDに対応する関係が存在しない場合
- 関連項目:
- setRoles(java.lang.String, javax.management.relation.RoleList)
 
- 
getAllRolespublic RoleResult getAllRoles(String relationId) throws IllegalArgumentException, RelationNotFoundException, RelationServiceNotRegisteredException関係に含まれるすべてのロールを返します。- 定義:
- getAllRoles、インタフェース:- RelationServiceMBean
- パラメータ:
- relationId- 関係ID
- 戻り値:
- RoleResultオブジェクト。取得に成功したロールのRoleListと読み取れなかったロールのRoleUnresolvedListを含む。
- 例外:
- IllegalArgumentException- パラメータがnullの場合
- RelationNotFoundException- 指定されたIDに対応する関係が存在しない場合
- RelationServiceNotRegisteredException- 関係サービスがMBeanサーバーに登録されていない場合
 
- 
getRoleCardinalitypublic Integer getRoleCardinality(String relationId, String roleName) throws IllegalArgumentException, RelationNotFoundException, RoleNotFoundException指定されたロール内で現在参照されているMBeanの数を取得します。- 定義:
- getRoleCardinality、インタフェース:- RelationServiceMBean
- パラメータ:
- relationId- 関係ID
- roleName- ロール名
- 戻り値:
- ロール内の現在参照されているMBeanの数
- 例外:
- IllegalArgumentException- パラメータがnullの場合
- RelationNotFoundException- 指定されたIDに対応する関係が存在しない場合
- RoleNotFoundException- 指定された名前のロールが存在しない場合
 
- 
setRolepublic void setRole(String relationId, Role role) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationNotFoundException, RoleNotFoundException, InvalidRoleValueException指定された関係内の指定されたロールを設定します。関係の関係タイプに含まれている対応するロール定義に従って、ロールをチェックします。 関係サービスは、関係の整合性を維持するため、参照対象のMBeanの登録解除を処理することにより、変更を追跡します。 - 定義:
- setRole、インタフェース:- RelationServiceMBean
- パラメータ:
- relationId- 関係ID
- role- 設定されるロール(名前と新しい値)
- 例外:
- RelationServiceNotRegisteredException- 関係サービスがMBeanサーバーに登録されていない場合
- IllegalArgumentException- パラメータがnullの場合
- RelationNotFoundException- 指定されたIDに対応する関係が存在しない場合
- RoleNotFoundException- ロールが存在しないか、書込み不可である場合
- InvalidRoleValueException- ロールに対して提供された値が無効な場合:- - 指定された値に含まれる参照対象のMBeanの数が予想最小値より小さい場合 - or - - 指定された値に含まれる参照対象のMBeanの数が予想最大値を超えている場合 - or - - 値に含まれる参照対象のMBeanのうち1つが、そのロールのMBeanクラスのオブジェクトでない場合 - or - - そのロールのMBeanが存在しない場合 
- 関連項目:
- getRole(java.lang.String, java.lang.String)
 
- 
setRolespublic RoleResult setRoles(String relationId, RoleList roleList) throws RelationServiceNotRegisteredException, IllegalArgumentException, RelationNotFoundException指定された関係内の指定されたロールを設定します。関係の関係タイプに含まれている対応するロール定義に従って、ロールをチェックします。 関係サービスは、関係の整合性を維持するため、参照対象のMBeanの登録解除を処理することにより、変更を追跡します。 - 定義:
- setRoles、インタフェース:- RelationServiceMBean
- パラメータ:
- relationId- 関係ID
- roleList- 設定されるロールのリスト
- 戻り値:
- RoleResultオブジェクト。設定に成功したロールのRoleListと設定されなかったロールのRoleUnresolvedListを含む
- 例外:
- RelationServiceNotRegisteredException- 関係サービスがMBeanサーバーに登録されていない場合
- IllegalArgumentException- パラメータがnullの場合
- RelationNotFoundException- 指定されたIDに対応する関係が存在しない場合
- 関連項目:
- getRoles(java.lang.String, java.lang.String[])
 
- 
getReferencedMBeanspublic Map<ObjectName,List<String>> getReferencedMBeans(String relationId) throws IllegalArgumentException, RelationNotFoundException関係のさまざまなロールで参照されるMBeanを取得します。- 定義:
- getReferencedMBeans、インタフェース:- RelationServiceMBean
- パラメータ:
- relationId- 関係ID
- 戻り値:
- HashMapマッピング:
 ObjectName→String (ロール名)から成るArrayList 
- 例外:
- IllegalArgumentException- パラメータがnullの場合
- RelationNotFoundException- 指定された関係IDに対応する関係が存在しない場合
 
- 
getRelationTypeNamepublic String getRelationTypeName(String relationId) throws IllegalArgumentException, RelationNotFoundException指定された関係の関係タイプの名前を返します。- 定義:
- getRelationTypeName、インタフェース:- RelationServiceMBean
- パラメータ:
- relationId- 関係ID
- 戻り値:
- 関連付けられた関係タイプの名前
- 例外:
- IllegalArgumentException- パラメータがnullの場合
- RelationNotFoundException- 指定された関係IDに対応する関係が存在しない場合
 
- 
handleNotificationpublic void handleNotification(Notification notif, Object handback)JMX通知が発生したとき呼び出されます。 一般に、関係ロール内の参照対象のMBean、または関係になるMBeanの登録解除の通知を処理します。- 定義:
- handleNotification、インタフェース:- NotificationListener
- パラメータ:
- notif- 通知
- handback- リスナーによるMBeanエミッタの情報の関連付けに役立つ、不透明なオブジェクト(nullも使用可能)。
 
- 
getNotificationInfopublic MBeanNotificationInfo[] getNotificationInfo()送信される通知のJavaクラス名と通知タイプを含むNotificationInfoオブジェクトを返します。- 定義:
- getNotificationInfo、インタフェース:- NotificationBroadcaster
- 戻り値:
- 可能な通知の配列。
 
 
-