Module java.management

Class RelationSupport

java.lang.Object
javax.management.relation.RelationSupport
所有已实现的接口:
MBeanRegistration, Relation, RelationSupportMBean

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

RelationSupport类符合标准MBean的设计模式。因此,用户可以决定自己实例化一个RelationSupport对象作为MBean(因为它遵循MBean的设计模式),将其注册到MBean服务器,然后将其添加到Relation Service中。

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

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

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

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

自版本:
1.5
  • Constructor Details

    • RelationSupport

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

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

      在Relation Service级别不执行任何操作,即RelationSupport对象不会添加到RelationService中,并且不会执行任何检查以查看提供的值是否正确。该对象始终会被创建,除非:

      - 任何必需参数为null

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

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

      参数:
      relationId - 关系标识符,用于在Relation Service中标识关系。

      预期在给定的Relation Service中是唯一的。

      relationServiceName - 关系将被注册的Relation Service的ObjectName。

      此参数是必需的,因为Relation Service知道给定关系的关系类型的定义,因此将能够检查更新操作(设置)。

      relationTypeName - 关系类型的名称。

      预期已在给定的Relation Service中创建。

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

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

      抛出:
      InvalidRoleValueException - 如果两个角色使用相同的名称。
      IllegalArgumentException - 如果任何必需参数(关系id、关系服务ObjectName或关系类型名称)为null
    • RelationSupport

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

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

      此对象需要知道预期处理关系的Relation Service。因此,它必须知道Relation Service注册的MBean Server。

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

      在Relation Service级别不执行任何操作,即RelationSupport对象不会添加到RelationService中,并且不会执行任何检查以查看提供的值是否正确。该对象始终会被创建,除非:

      - 任何必需参数为null

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

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

      参数:
      relationId - 关系标识符,用于在Relation Service中标识关系。

      预期在给定的Relation Service中是唯一的。

      relationServiceName - 关系将被注册的Relation Service的ObjectName。

      此参数是必需的,因为Relation Service知道给定关系的关系类型的定义,因此将能够检查更新操作(设置)。

      relationServiceMBeanServer - 封装MBean所在或将要注册的MBean Server。

      预期是Relation Service注册或将要注册的MBean Server。

      relationTypeName - 关系类型的名称。

      预期已在给定的Relation Service中创建。

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

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

      抛出:
      InvalidRoleValueException - 如果两个角色使用相同的名称。
      IllegalArgumentException - 如果任何必需参数(关系id、关系服务ObjectName、关系服务MBeanServer或关系类型名称)为null
  • Method Details