Vorheriges Thema: Entität "Volume"Nächstes Thema: Entität "Connections"


Entität "subordinate"

Die Entität "subordinate" definiert eine untergeordnete Komponente in der Assembly. Jede Entität "subordinate" kann eine Reihe von Attributen haben, die jeweils einer Eigenschaft (einschließlich den Eigenschaften "volume") der Komponente entsprechen, die mit dem angegebenen Wert überschrieben wird. Außerdem verfügt jede Entität "subordinate" über die folgenden vordefinierten Attribute, die eine spezielle Bedeutung haben. Die Name diese Attribute fangen alle mit '.' an, damit sie leichter von normalen Eigenschaften unterschieden werden können:

.class

Gibt den Klassennamen der untergeordneten Komponente an; dies kann entweder der Name einer instantiable-Klasse oder der Name eines Singletons sein. Dieses Attribut ist obligatorisch und kann nicht weggelassen werden.
Der Klassenname wird entweder als einfacher Name oder im Format catalog-name.class-name angegeben, wobei catalog-name der Name eines Katalogs ist (entweder ein Katalog, der zur Anwendung gehört, oder ein globaler in der CA AppLogic®-Konfigurationsdatei konfigurierter Katalog). Zuerst wird in den im Anwendungspaket angegebenen Katalogen nachgeschlagen.
Wenn kein Katalogname gegeben wird, wird der Klassenname als Name einer Komponentenklasse angenommen, die sich am gleichen Speicherort wie die Assembly befindet. Wenn die Assembly zum Beispiel ein Katalogteil ist, dann wird im gleichen Katalog nach der Entität "subordinate" gesucht; wenn der Assembly zu einer Anwendung gehört, wird die Entität "subordinate" im Paket der Anwendung gesucht.

.start_order

Definiert die Reihenfolge, in der diese untergeordnete Komponente bezogen auf andere untergeordnete Komponenten in der gleichen Assembly gestartet wird. Niedrigere Zahlen werden zuerst gestartet und Komponenten mit einer höheren Zahl werden erst gestartet, wenn alle Komponenten mit niedrigeren Zahlen erfolgreich gestartet haben. Untergeordnete Komponenten mit der gleichen start_order-Zahl können in beliebiger Reihenfolge gestartet werden und ihre Startvorgänge können sich zeitlich überschneiden. Die Startreihenfolge gilt lokal für eine Assembly und die gleichen Zahlen für die Startreihenfolge können in verschiedenen Assemblys wiederverwendet werden (die relative Reihenfolge, in der untergeordnete Komponenten in verschiedenen Assemblys gestartet werden, hängt von der diesen Assemblys zugewiesenen Startreihenfolge ab). Untergeordnete Komponenten ohne Attribut ".start_order" werden nach allen untergeordneten Komponenten gestartet, die das Attribut haben.

.failover

Definiert einen Failovergruppenbezeichner. Komponenten, die die gleiche Failovergruppen-ID in der Anwendung haben, bilden eine Gruppe von Komponenten, die als Ausfallsicherung für einander fungieren, und ihre Ausführung sollte daher niemals nie auf dem gleichen physischen Gerät geplant werden (damit einige von ihnen im Fall von Hardwarefehlern funktionstüchtig bleiben). Die Failovergruppen-ID ist global für die Anwendung gültig; das heißt, in verschiedenen Assemblys befindliche Komponenten mit der gleichen Gruppen-ID werden als der gleichen Gruppe angehörig betrachtet. Dieses Attribut darf auf die leere Zeichenfolge festgelegt werden. Es wird dann so behandelt, als ob es gar nicht angegeben wird (das heißt, keine Ablaufplanungspräferenz für diese Komponente).

.ignore

Ein boolesches Attribut. Wenn es auf 1 (wahr) festgelegt wird, bedeutet dies, dass die Operation der untergeordneten Komponente für die Assembly nicht kritisch ist und die Anwendung auch dann normal gestartet werden kann, wenn die untergeordnete Komponente nicht gestartet werden kann. Dieses Attribut kann nicht an die Assembly-Begrenzung umgeleitet werden.
Wenn Sie dieses Attribut festlegen, müssen Sie sicherstellen, dass die output-Terminals der anderen subordinate-Entitäten mit dem verbunden werden, für das ".ignore" angegeben wurde, damit sie ordnungsgemäß funktionieren, wenn ihre output-Terminals nicht verbunden werden.

.field_opt

Damit wird Instanzenfeldoptionswert der Entität "subordinate" festgelegt. Im Gegensatz zu den anderen vordefinierten Attributen einer Komponente (.migrateable, .boot_tout usw.), die durch Angabe eines gleichnamigen Attributs in einer untergeordneten Entität in einer Assembly überschrieben werden können, wird das eigene Attribut ".field_opt" der Komponente nicht überschrieben. Es wird als die Klassenfeldoption beibehalten. Weitere Informationen hierzu finden Sie in der .field_opt-Definition in der Komponentendeskriptorsyntax und in dem Abschnitt, in dem die Attribute von Assemblys erklärt werden.

.vlan

Dies ist eine Ganzzahl im Bereich zwischen 0 und 4095. Sie ist nur auf eine untergeordnete Komponente anwendbar und kann für keine untergeordnete Komponenten, die eine Assembly ist, festgelegt werden. Das Attribut definiert das Tag "vlan" für die externe Schnittstelle der Komponente, sofern diese vorhanden ist. Wenn die Komponente keine externe Schnittstelle hat, wird die Einstellung stillschweigend ignoriert.

Alle Attributnamen, die anders lauten als die vordefinierten, werden als Eigenschaftsnamen der untergeordneten Komponente interpretiert, die auf den angegebenen Wert festgelegt werden müssen. Hierzu gehören auch die vordefinierten Attribute der untergeordneten Komponente (.boot_tout, .migrateable, .server, .standby) und die komponentenspezifischen Eigenschaften, die dann durch die Entitäten "property" und "volumes" definiert werden (siehe Komponentendeskriptorsyntax).

Ein besonderer Typ von Wert wird definiert, der angibt, dass die Eigenschaft mit der Grenze einer Assembly verknüpft ist: $.name, wobei name der Name einer der Entitäten "property" oder "volumes" in der Assembly ist. Wenn eine Eigenschaft auf einen literalen Wert festgelegt werden muss, der mit den Zeichen $. anfängt, muss der Wert in Anführungszeichen gesetzt werden, damit sichergestellt ist, dass er nicht als Eigenschaftsverbindung interpretiert wird. Mehrere untergeordnete Eigenschaften können mit der gleichen Grenzeigenschaft verbunden werden und alle diese Eigenschaften übernehmen den Standardwert von der Grenzeigenschaftsdefinition, sofern kein Standardwert in einer outer-scope-Assembly angegeben wird. Das Attribut $.name kann auch für die vordefinierten Attribute der untergeordneten Komponente verwendet werden, sodass sie zu normalen Eigenschaften der Assembly-Begrenzung werden

Die Entität "subordinate" in einer Assembly akzeptiert auch die Sub-Entitäten "mem", "cpu" und" bw", mit den gleichen Attributen wie im Abschnitt zur Komponentendeskriptorsyntax definiert. Wenn sie auf eine untergeordnete Komponente angewendet wird, die eine einfache Komponente ist, dann werden Ressourceneinstellungen in dieser Komponente überschrieben. Die Überschreibung muss innerhalb des in der Komponente definierten zulässigen Wertebereichs bleiben (das heißt, der neue Bereich darf nicht größer als der alte sein und muss gänzlich in den alten passen). Wenn sie auf eine untergeordnete Komponente angewendet wird, die eine Assembly ist, dann werden die angegebenen Ressourcenproportional entsprechend dem relativen Gewicht der Ressourcenanforderungen auf die untergeordneten Komponenten der Assembly verteilt. Wenn eine Ressourceneinstellung für eine untergeordnete Assembly dazu führt, dass eine Komponente eine Ressourceneinstellung erhält die außerhalb des für sie definierten zulässigen Bereichs liegt, dann gibt der ADL-Linker einen Fehler aus.