- 既知のすべてのサブインタフェース:
RelationSupportMBean
- 既知のすべての実装クラス:
RelationSupport
プロパティやメソッドを持たず、ロールだけ持つ単純な関係は、関係サービスで直接作成できます。こうした関係は、RelationSupportオブジェクトとして、関係サービスによって内部で処理されます。
複数のプロパティやメソッドを持つ、より複雑な関係を表現したい場合は、Relationインタフェースを実装する独自のクラスを用意する必要があります。 このクラスは、RelationSupportクラスから継承するか、インタフェース(RelationSupportオブジェクト・メンバー、またはその委譲)を実装することによって取得できます。
こうしたユーザー関係クラスを指定することにより、プロパティやメソッドを導入できます。 これらのプロパティやメソッドは、リモート管理用に公開する必要があります。 つまり、すべてのユーザー関係クラスはMBeanクラスである必要があります。
- 導入されたバージョン:
- 1.5
-
メソッドのサマリー
修飾子と型メソッド説明関係に含まれるすべてのロールを返します。関係のさまざまなロールで参照されるMBeanを取得します。関係サービス内の関係を一意に識別するために使用される関係識別子を返します。関係を処理する関係サービスのObjectNameを返します。関連付けられた関係タイプの名前を返します。指定されたロール名のロール値を取得します。getRoleCardinality
(String roleName) 指定されたロール内で現在参照されているMBeanの数を返します。指定された名前のロールの値を取得します。void
handleMBeanUnregistration
(ObjectName objectName, String roleName) ロールで参照されるMBeanの登録が解除された場合に関係サービスによって使用されるコールバックです。読取りモードをチェックしないで、関係に含まれるすべてのロールを返します。void
指定されたロールを設定します。指定されたロールを設定します。
-
メソッドの詳細
-
getRole
List<ObjectName> getRole(String roleName) throws IllegalArgumentException, RoleNotFoundException, RelationServiceNotRegisteredException 指定されたロール名のロール値を取得します。ロールが存在し、関係タイプに従って読取り可能かどうかをチェックします。
- パラメータ:
roleName
- ロール名- 戻り値:
- ロール値となるObjectNameオブジェクトのArrayList
- 例外:
IllegalArgumentException
- ロール名がnullの場合RoleNotFoundException
- 次の場合:- 指定された名前のロールが存在しない場合
- ロールが読取り不可な場合
RelationServiceNotRegisteredException
- 関係サービスがMBeanサーバーに登録されていない場合- 関連項目:
-
getRoles
RoleResult getRoles(String[] roleNameArray) throws IllegalArgumentException, RelationServiceNotRegisteredException 指定された名前のロールの値を取得します。各ロールが存在し、関係タイプに従って読取り可能かどうかをチェックします。
- パラメータ:
roleNameArray
- 取得されるロールの名前から成る配列- 戻り値:
- RoleResultオブジェクト。取得に成功したロールのRoleListと取得されなかったロールのRoleUnresolvedListを含む
- 例外:
IllegalArgumentException
- ロール名がnullの場合RelationServiceNotRegisteredException
- 関係サービスがMBeanサーバーに登録されていない場合- 関連項目:
-
getRoleCardinality
指定されたロール内で現在参照されているMBeanの数を返します。- パラメータ:
roleName
- ロール名- 戻り値:
- ロール内の現在参照されているMBeanの数
- 例外:
IllegalArgumentException
- ロール名がnullの場合RoleNotFoundException
- 指定された名前のロールが存在しない場合
-
getAllRoles
RoleResult getAllRoles() throws RelationServiceNotRegisteredException関係に含まれるすべてのロールを返します。- 戻り値:
- RoleResultオブジェクト。取得に成功したロールのRoleListと読み取れなかったロールのRoleUnresolvedListを含む。
- 例外:
RelationServiceNotRegisteredException
- 関係サービスがMBeanサーバーに登録されていない場合
-
retrieveAllRoles
-
setRole
void setRole(Role role) throws IllegalArgumentException, RoleNotFoundException, RelationTypeNotFoundException, InvalidRoleValueException, RelationServiceNotRegisteredException, RelationNotFoundException 指定されたロールを設定します。関係の関係タイプに含まれている対応するロール定義に従って、ロールをチェックします。
通知を送信します。関係がMBeanであるかどうかによって、RelationNotificationの型はRELATION_BASIC_UPDATEまたはRELATION_MBEAN_UPDATEになります。
- パラメータ:
role
- 設定されるロール(名前と新しい値)- 例外:
IllegalArgumentException
- ロールがnullの場合RoleNotFoundException
- 指定された名前のロールが存在しない場合、またはロールが書込み可能でない場合(ロールの初期化時には、書込みアクセス・モードのチェックは行われない)InvalidRoleValueException
- ロールに対して提供された値が無効な場合:- 指定された値に含まれる参照対象のMBeanの数が予想最小値より小さい場合
- 指定された値に含まれる参照対象のMBeanの数が予想最大値を超えている場合
- 値に含まれる参照対象のMBeanのうち1つが、そのロールのMBeanクラスのオブジェクトでない場合
- そのロールのMBeanが存在しない場合
RelationServiceNotRegisteredException
- 関係サービスがMBeanサーバーに登録されていない場合RelationTypeNotFoundException
- 関係サービスに関係タイプが宣言されていない場合RelationNotFoundException
- 関係サービスに関係が追加されていない場合- 関連項目:
-
setRoles
RoleResult setRoles(RoleList roleList) throws IllegalArgumentException, RelationServiceNotRegisteredException, RelationTypeNotFoundException, RelationNotFoundException 指定されたロールを設定します。関係の関係タイプに含まれている対応するロール定義に従って、ロールをチェックします。
ロールが更新されるたびに通知を送信します。関係がMBeanであるかどうかによって、RelationNotificationの型はRELATION_BASIC_UPDATEまたはRELATION_MBEAN_UPDATEになります。
- パラメータ:
roleList
- 設定されるロールのリスト- 戻り値:
- RoleResultオブジェクト。設定に成功したロールのRoleListと設定されなかったロールのRoleUnresolvedListを含む
- 例外:
IllegalArgumentException
- ロール・リストがnullの場合RelationServiceNotRegisteredException
- 関係サービスがMBeanサーバーに登録されていない場合RelationTypeNotFoundException
- 関係サービスに関係タイプが宣言されていない場合RelationNotFoundException
- 関係サービスに関係MBeanが追加されていない場合- 関連項目:
-
handleMBeanUnregistration
void handleMBeanUnregistration(ObjectName objectName, String roleName) throws IllegalArgumentException, RoleNotFoundException, InvalidRoleValueException, RelationServiceNotRegisteredException, RelationTypeNotFoundException, RelationNotFoundException ロールで参照されるMBeanの登録が解除された場合に関係サービスによって使用されるコールバックです。関係サービスは、このメソッドを呼び出して、関係に、登録解除の影響を反映するためのアクションを取らせます。
このメソッドは、ユーザーからは呼び出されません。
現在の実装は、現在の値(参照対象のMBeanのObjectNameのリスト)を使ってロールを設定します。登録解除されているものは使用しません。
- パラメータ:
objectName
- 登録解除されたMBeanのObjectNameroleName
- MBeanの参照に使用されるロール名- 例外:
IllegalArgumentException
- パラメータがnullの場合RoleNotFoundException
- 関係内にロールが存在しないか、書込み不可である場合InvalidRoleValueException
- ロール値が関連するロール情報に準拠していない場合(関係サービスから呼び出された場合は起こり得ない条件)RelationServiceNotRegisteredException
- 関係サービスがMBeanサーバーに登録されていない場合RelationTypeNotFoundException
- 関係サービスに関係タイプが宣言されていない場合RelationNotFoundException
- このメソッドが、関係サービスに追加されていない関係MBeanに対して呼び出された場合
-
getReferencedMBeans
Map<ObjectName,List<String>> getReferencedMBeans()関係のさまざまなロールで参照されるMBeanを取得します。- 戻り値:
- HashMapマッピング:
ObjectName→String (ロール名)から成るArrayList
-
getRelationTypeName
-
getRelationServiceName
-
getRelationId
-