上一主题: 卷实体下一主题: 连接实体


从属实体

从属实体定义组件集中的从属组件。 每个从属实体都可以有任意数量的属性,每一个对应于使用指定值覆盖的组件的属性(包括卷属性)。 此外,下列具有特别意义的预定义属性对于每个从属实体来说都存在,全部都有以“.”开始的名称,以将它们与一般属性区分开来:

.class

指定从属组件的类名;这可能是可实例化类的名称或是单例的名称。 此属性是强制性的,不可省略。
类名以简单名称或 catalog-name.class-name 形式指定,其中,catalog-name 是目录的名称(属于应用的目录,或在 CA AppLogic® 配置文件中配置的全局目录)。 首先会查找在应用包中指定的目录。
在没有给出目录名称时,class-name 用作位于与组件集同样位置的组件类的名称-例如,如果组件集是目录部分,则在同一目录中查找从属组件;如果组件集属于应用,则在应用包中查找从属组件。

.start_order

定义启动此从属组件的顺序,相对于同一组件集中的其他从属组件。 先启动数字较小的从属组件,直到数字较小的所有从属组件都成功启动后,才启动数字较高的那些从属组件。 可以按任何顺序启动具有相同 start_order 数字的从属组件,这些从属组件的启动时间可能重叠。 启动顺序是组件集本地的,同一启动顺序可在不同组件集中重复使用(在不同组件集中启动从属组件的相对顺序,取决于分配给那些组件集的启动顺序数字)。 没有 .start_order 属性的从属组件在有该属性的所有从属组件启动之后才会启动。

.failover

定义故障转移组标识符。 在应用中具有同一故障转移组标识符的组件构成了一组组件,这些组件充当彼此的备份,因此永远不应在同一物理设备上安排这些组件(以便在硬件出现故障时,其中某些仍然可用)。 故障转移组标识符对应用来说是全局的,也就是说,不同组件集中具有同一组标识符的组件被认为属于同一组。 将此属性设置为空字符串是允许的,且被视为根本没有设置此属性(即,此组件无排定首选项)。

.ignore

布尔属性。 如果设置为 1(真),则指定从属组件的运行对组件集来说并非关键,如果从属组件无法启动,则应用启动应正常运行。 此属性无法重定向到组件集边界。
设置此属性时,检查如果从属组件的输出未连接时,将输出连接到设置了 .ignore 的组件的这些从属组件是否正常运行。

.field_opt

此属性设置从属组件的实例字段选项值。 组件的其他预定义属性(.migrateable、.boot_tout 等)可通过在组件集中的从属实体中指定同样名称的属性来覆盖,与这些属性不同,组件自有的 .field_opt 不能被覆盖,而是保留为类字段选项。 请参阅组件描述符语法中的 .field_opt 定义以及解释组件集的属性的部分。

.vlan

此属性为整数,范围介于 0 到 4095 之间。 它只适用于从属组件,无法在属于组件集的从属组件集上设置。 该属性定义组件外部接口(如果存在)的 vlan 标记。 如果组件没有外部接口,则默认忽略该设置。

除预定义名称之外的所有属性名称均被认为是需要设为指定值的从属组件的属性名-这包括从属组件的预定义属性(.boot_tout、.migrateable、.server、.standby),以及其中由‘属性’或‘卷’实体定义的组件特定属性(请参阅组件描述符语法)。

定义了特定类型的值以指示属性会连接到组件集的边界:$.name,其中 name 是组件集中‘属性’或‘卷’实体之一的名称。 如果属性必须设为以 $. 字符开始的文字值, 则该值必须放在引号里以帮助确保不将其作为属性连接进行解释。 如果在组件集范围之外没有提供任何项,则多个从属属性可以连接到同一边界属性,并且所有这样的属性都可以从边界属性定义中获取默认值。 $.name 也可以用于从属组件的预定义属性,使其成为组件集边界上的一般属性。

组件集中的从属实体还接受资源子实体 mem、cpu 和 bw,其带有的相同属性在“组件描述符语法”部分中已定义。当应用于为简单组件的从属组件时,它们会覆盖该组件中的资源设置。 这种覆盖必须在组件中定义的范围限制之内(即新范围必须不大于旧范围并且必须完全与旧范围相符)。 当应用于组件集中的从属组件时,会根据每个组件集的从属组件的资源需求的相对权重,按比例分配指定资源。 如果从属组件集资源设置导致一个组件收到的资源设置超出为它定义的最小或最大范围,则 ADL 链接程序将报告错误。