The subordinate entity defines a subordinate component in the assembly. Each subordinate can have any number of attributes, each corresponding to a property (including volume properties) of the component that is overridden with the specified value. In addition, the following pre-defined attributes with a special meaning exist for each subordinate, all having a name that begins with a '.' to distinguish them from regular properties:
|
.class |
Specifies the class name of the subordinate component; this can be either the name of an instantiable class or the name of a singleton. This attribute is mandatory and cannot be omitted. |
|
.start_order |
Defines the order of starting this subordinate, relative to the other subordinates in the same assembly. Lower numbers are started first and those with a higher number are not started until all those with lower numbers have started successfully. Subordinates having the same start_order number can be started in any order and may have their startups overlap in time. The start order is local to the assembly and the same start order numbers can be reused in different assemblies (the relative order of starting subordinates in different assemblies depends on the start order numbers assigned to those assemblies). Subordinates with no .start_order attribute are started after all subordinates that do have the attribute. |
|
.failover |
Defines a failover group identifier. Components that have the same failover group ID in the application constitute a group of components that serve as backup for one another and therefore should never be scheduled on the same physical device (so that in case of hardware failure, some of them remain alive). The failover group ID is global to the application, that is, components with the same group ID in different assemblies are considered to belong to the same group. Setting this attribute to the empty string is allowed and is treated as if the attribute is not set at all (that is, no scheduling preference for this component). |
|
.ignore |
A Boolean attribute. If it is set to 1 (true), specifies that the subordinate's operation is not critical to the assembly and if the subordinate fails to start, the application startup should proceed as normal. This attribute cannot be redirected to the assembly boundary. |
|
.field_opt |
This sets the instance field-option value of the subordinate. Unlike the other pre-defined attributes of a component (.migrateable, .boot_tout, and so on) which can be overridden by specifying the attribute of the same name in a subordinate entity in an assembly, the component's own .field_opt is not overridden - it is kept as the class field-option instead. See the .field_opt definition in the component descriptor syntax and also above where the assembly's attributes are explained. |
|
.vlan |
This is an integer in the range 0..4095. It is applicable only for a subordinate component and cannot be set on a subordinate that is an assembly. The attribute defines the vlan tag for the component's external interface if one exists. If the component does not have an external interface, the setting is silently ignored. |
All attribute names other than the pre-defined ones are considered to be property names of the subordinate component that need to be set to the specified value - this includes the predefined attributes of the subordinate component ( .boot_tout, .migrateable, .server, .standby ), and the component-specific properties defined in it by the 'property' or the 'volume' entities (see the component descriptor syntax).
A special type of value is defined indicating that the property is connected to the assembly's boundary: $.name, where name is the name of one of the 'property' or 'volume' entities in the assembly. If a property has to be set to a literal value that begins with the $. characters, the value must be quoted to help ensure that it is not interpreted as a property connection. More than one subordinate property can be connected to the same boundary property and all such properties get the default value from the boundary property definition if none is provided in an outer-scope assembly. The $.name can be used for the pre-defined attributes of the subordinate too, making them regular properties on the assembly boundary.
The subordinate entity in an assembly also accepts the resource sub-entities mem, cpu and bw, with the same attributes as defined in the Component Descriptor Syntax section.When applied to a subordinate that is a simple component, they override the resource settings in that component. The override must remain within the limits of the range defined in the component (that is, the new range must no wider than the old one and must fit entirely into the old one). When applied to a subordinate that is an assembly, the specified resources are distributed proportional according to the relative weight of the resource requirements in each of that assembly's subordinates. If a resource setting for a subordinate assembly causes a component to receive a resource setting that is outside of the min-max range defined for it, an error is reported by the ADL linker.
|
Copyright © 2012 CA.
All rights reserved.
|
|