モジュール java.management
パッケージ javax.management.relation

クラスRelationSupport

java.lang.Object
javax.management.relation.RelationSupport
すべての実装されたインタフェース:
MBeanRegistration, Relation, RelationSupportMBean

public class RelationSupport
extends Object
implements RelationSupportMBean, MBeanRegistration
RelationSupportオブジェクトは、ロール数に制限のない任意の関係タイプの単純な関係(ロールのみ、プロパティやメソッドなし)を表現するために、関係サービスによって内部的に使用されます。 これは内部表現なので、ユーザーには公開されません。

RelationSupportクラスは、標準MBeanの設計パターンに準拠しています。 したがって、ユーザーは、RelationSupportオブジェクトをMBeanとしてインスタンス化し(MBeanの設計パターンに準拠しているため)、MBean Serverに登録して関係サービスに追加することができます。

また、独自のMBean関係クラスの作成時にRelationSupportを拡張して、必須インタフェース(下記参照)の実装を取得することもできます。

ユーザー関係MBeanクラス内にRelationSupportオブジェクトとなるメンバーを追加し、すべてをこのメンバーに委譲することによって必須インタフェースを実装する方法もあります。

RelationSupportは、関係サービスによって処理されるRelationインタフェースを実装します。

関係サービスにアクセスするため、MBean ServerにMBeanとして登録されている場合は、この登録先MBean Serverを取得するためのMBeanRegistrationインタフェースも実装します。

導入されたバージョン:
1.5
  • コンストラクタの詳細

    • RelationSupport

      public RelationSupport​(String relationId, ObjectName relationServiceName, String relationTypeName, RoleList list) throws InvalidRoleValueException, IllegalArgumentException
      RelationSupportオブジェクトを作成します。

      このコンストラクタは、RelationSupportオブジェクトがユーザーによってMBeanとして登録されたとき、またはRelationSupportを拡張するクラスを持つユーザー関係MBeanを作成するときに使用する必要があります。

      関係サービス・レベルでは何も行われません。つまり、RelationSupportオブジェクトはRelationServiceに追加されず、適切な値が提供されたかどうかのチェックも行われません。 オブジェクトは、次の場合を除いて必ず作成されます。

      - 必須パラメータがすべてnullの場合

      - 同じ名前が2つのロールで使用されている場合

      関係として処理するためには、RelationSupportオブジェクトを関係サービス・メソッドaddRelation()を使って関係サービスに追加する必要があります。

      パラメータ:
      relationId - 関係サービス内の関係を一意に識別するために使用される関係識別子

      関係サービス内で一意でなければいけません。

      relationServiceName - 関係の登録先となる関係サービスのObjectName

      更新オペレーション(セット)をチェックする必要があるため、指定された関係の型定義を認識する関係サービスでなければならない

      relationTypeName - 関係タイプの名前。

      指定された関係サービス内で作成されたものでなければならない

      list - 関係を初期化するためのロール(Roleオブジェクト)のリスト。 nullも可

      関連付けられた関係タイプの関係情報に準拠していなければいけません。

      例外:
      InvalidRoleValueException - 同じ名前が2つのロールで使用されている場合
      IllegalArgumentException - 必須パラメータ(関係ID、関係サービスObjectName、関係タイプ名)のいずれかがnullの場合。
    • RelationSupport

      public RelationSupport​(String relationId, ObjectName relationServiceName, MBeanServer relationServiceMBeanServer, String relationTypeName, RoleList list) throws InvalidRoleValueException, IllegalArgumentException
      RelationSupportオブジェクトを作成します。

      このコンストラクタは、RelationSupportオブジェクトへの委譲を行うことによって関係で利用できるようにする必要があるインタフェースを、ユーザー関係MBeanが実装したときに使用する必要があります。

      このオブジェクトは、関係を処理する関係サービスを認識する必要があります。 したがって、この関係サービスの登録先のMBean Serverも認識する必要があります。

      制限により、関係MBeanは、それを処理する関係サービスと同じMBeanサーバーに登録する必要があります。 このため、ユーザー関係MBeanを作成し、登録する必要があります。ユーザー関係MBeanの登録後、識別されたMBeanサーバー内部で、ラップされたRelationSupportオブジェクトを作成できます。

      関係サービス・レベルでは何も行われません。つまり、RelationSupportオブジェクトはRelationServiceに追加されず、適切な値が提供されたかどうかのチェックも行われません。 オブジェクトは、次の場合を除いて必ず作成されます。

      - 必須パラメータがすべてnullの場合

      - 同じ名前が2つのロールで使用されている場合

      関係として処理するためには、RelationSupportオブジェクトを関係サービス・メソッドaddRelation()を使って関係サービスに追加する必要があります。

      パラメータ:
      relationId - 関係サービス内の関係を一意に識別するために使用される関係識別子

      関係サービス内で一意でなければいけません。

      relationServiceName - 関係の登録先となる関係サービスのObjectName

      更新オペレーション(セット)をチェックする必要があるため、指定された関係の型定義を認識する関係サービスでなければならない

      relationServiceMBeanServer - MBeanのラップが登録されている、またはこれから登録されるMBeanサーバー。

      関連サービスが登録されている、またはこれから登録されるMBean Serverでなければならない

      relationTypeName - 関係タイプの名前。

      指定された関係サービス内で作成されたものでなければならない

      list - 関係を初期化するためのロール(Roleオブジェクト)のリスト。 nullも可

      関連付けられた関係タイプの関係情報に準拠していなければいけません。

      例外:
      InvalidRoleValueException - 同じ名前が2つのロールで使用されている場合
      IllegalArgumentException - 必須パラメータ(関係ID、関係サービスObjectName、関係サービスMBeanServer、関係タイプ名)のいずれかがnullである場合。
  • メソッドの詳細