Module  java.management

Class RelationSupport

  • All Implemented Interfaces:
    MBeanRegistrationRelationRelationSupportMBean


    public class RelationSupport
    extends Object
    implements RelationSupportMBean, MBeanRegistration
    RelationSupport对象由Relation Service内部使用,用于表示任意关系类型的简单关系(仅角色,无属性或方法)以及无限数量的角色。 作为内部表示,它不会暴露给用户。

    RelationSupport类符合标准MBean的设计模式。 因此,用户可以自己将RelationSupport对象实例化为MBean(遵循MBean设计模式),将其注册到MBean Server中,然后将其添加到关系服务中。

    用户还可以在创建自己的MBean关系类时,扩展RelationSupport,以检索所需接口的实现(见下文)。

    还可以在一个用户关系MBean类中有一个成员是一个RelationSupport对象,并通过将所有这些对象委派给该成员来实现所需的接口。

    RelationSupport实现了Relation接口(由Relation Service处理)。

    它还实现了MBeanRegistration接口,以便能够检索其注册的MBean服务器(如果注册为MBean)以访问其关系服务。

    从以下版本开始:
    1.5
    • 构造方法详细信息

      • RelationSupport

        public RelationSupport​(String relationId,
                               ObjectName relationServiceName,
                               String relationTypeName,
                               RoleList list)
                        throws InvalidRoleValueException,
                               IllegalArgumentException
        创建一个RelationSupport对象。

        当RelationSupport对象将由用户注册为MBean时,或者创建类扩展了RelationSupport的用户关系MBean时,必须使用此构造函数。

        在关系服务级别没有完成任何操作,即RelationSupport对象未添加到RelationService并且不执行检查以查看提供的值是否正确。 对象始终被创建,除非:

        - 任何所需的参数是null

        - 相同的名称用于两个角色。

        要作为关系处理,必须使用关系服务方法addRelation()将RelationSupport对象添加到关系服务。

        参数
        relationId - 关系标识符,用于标识关系服务中的关系。

        预期在给定的关系服务中是唯一的。

        relationServiceName - 该关系将被注册的关系服务的ObjectName。

        该参数是必需的,因为它是关系服务,它意识到给定关系的关系类型的定义,以便能够检查更新操作(set)。

        relationTypeName - 关系类型的名称。

        预计在给定的关系服务中创建。

        list - 初始化关系的角色(角色对象)列表。 可以是null

        预期符合相关关系类型的关系信息。

        异常
        InvalidRoleValueException - 如果两个角色使用相同的名称。
        IllegalArgumentException - 如果任何必需的参数(关系id,关系服务对象名称或关系类型名称)为 null
      • RelationSupport

        public RelationSupport​(String relationId,
                               ObjectName relationServiceName,
                               MBeanServer relationServiceMBeanServer,
                               String relationTypeName,
                               RoleList list)
                        throws InvalidRoleValueException,
                               IllegalArgumentException
        创建一个RelationSupport对象。

        当用户关系MBean通过委托RelationSupport对象实现期望由关系支持的接口时,必须使用此构造函数。

        此对象需要知道关系服务预期处理关系。 所以它必须知道关系服务注册的MBean服务器。

        根据限制,必须在与预期处理它的关系服务相同的MBean服务器中注册关系MBean。 因此,必须创建和注册用户关系MBean,然后可以在已识别的MBean服务器内创建包装的RelationSupport对象。

        在关系服务级别没有完成任何操作,即RelationSupport对象未添加到RelationService并且不执行检查以查看提供的值是否正确。 对象始终被创建,除非:

        - 任何必需的参数是null

        - 相同的名称用于两个角色。

        要作为关系处理,必须使用关系服务方法addRelation()将RelationSupport对象添加到关系服务。

        参数
        relationId - 关系标识符,用于标识关系服务中的关系。

        预期在给定的关系服务中是唯一的。

        relationServiceName - 该关系将被注册的关系服务的ObjectName。

        该参数是必需的,因为它是关系服务,它意识到给定关系的关系类型的定义,以便能够检查更新操作(set)。

        relationServiceMBeanServer - MBean包装MBean是或将被注册的服务器。

        预期是关系服务是或将被注册的MBean服务器。

        relationTypeName - 关系类型的名称。

        预计在给定的关系服务中创建。

        list - 初始化关系的角色(角色对象)列表。 可以是null

        预期符合相关关系类型的关系信息。

        异常
        InvalidRoleValueException - 如果两个角色使用相同的名称。
        IllegalArgumentException - 如果任何必需的参数(关系id,关系服务对象名称,关系服务MBeanServer或关系类型名称)是 null