前のトピック: volume エンティティ

次のトピック: connections エンティティ


subordinate エンティティ

subordinate エンティティはアセンブリ内の下位コンポーネントを定義します。 それぞれの subordinate エンティティは、属性を必要な数だけ持つことができます。それぞれがコンポーネントのプロパティに対応し、指定された値がコンポーネントの値より優先されます。 さらに、特別な意味を持つ以下の事前定義済み属性が、各 subordinate エンティティに存在します。標準のプロパティと区別するために名前の最初に '.' が付いています。

.class

下位コンポーネントのクラス名を指定します。これは、インスタンス化可能クラスの名前またはシングルトンの名前のいずれかになります。 この属性は必須で省略できません。
クラス名はシンプルな名前として指定するか、または「カタログ名.クラス名」の形式で定義します。「カタログ名」は、アプリケーションに属するカタログか、CA AppLogic 環境設定ファイルに設定されたグローバル カタログのいずれかの名前になります。 アプリケーション パッケージに指定されたカタログが最初に検索されます。
カタログ名が指定されない場合、クラス名が、アセンブリと同じ場所に存在するコンポーネント クラスのカタログ名と見なされます。たとえば、アセンブリがカタログの一部である場合、subordinate エンティティが同じカタログ内で検索され、アセンブリがアプリケーションに属する場合、subordinate エンティティがアプリケーションのパッケージで検索されます。

.start_order

同じアセンブリ内の他の下位コンポーネントのなかで、この下位コンポーネントを開始する順番を定義します。 数が小さい方から開始されます。より小さい数のものが正常に開始されるまで、それより大きい数のものは開始されません。 開始順の値が同じ場合は、任意の順で開始でき、その開始時間がオーバーラップする可能性があります。 この開始順は、アセンブリ内でのみ適用され、同じ開始番号を別のアセンブリで再利用できます。異なるアセンブリにおいて下位コンポーネントを開始する相対的な順序は、それらのアセンブリに割り当てられた開始順の番号に依存します。 .start_order 属性を持たない下位コンポーネントは、この属性を持つものがすべて開始された後に開始されます。

.failover

フェールオーバ グループ識別子を定義します。 アプリケーション内で同じフェールオーバ グループ ID を持つコンポーネントは、互いにバックアップとして機能するコンポーネントのグループを形成します。そのため、それらを同じ物理デバイス上にスケジュールすることはしないでください(そうすることで、ハードウェア障害の場合に一部が稼働したままになります)。 フェールオーバ グループ ID はアプリケーションにおいて共通です。つまり、別のアセンブリで同じグループ ID を持つコンポーネントは同じグループに属すると見なされます。 この属性に空の文字列を設定することは可能です。その場合、属性が設定されていない(このコンポーネントのスケジュール設定はない)ものとして扱われます。

.ignore

ブール属性。 1 (true)に設定された場合、下位の操作がアセンブリに影響しません。下位コンポーネントが開始されなくても、アプリケーションの開始は通常どおり続行されます。 この属性はアセンブリ境界へリダイレクトできません。
この属性を設定する場合は、出力の接続先の下位コンポーネントで .ignore が設定されている場合に、その出力が切断された後も他の下位コンポーネントが正常に機能するかどうかを確認してください。

.field_opt

subordinate のインスタンス フィールド オプションの値を設定します。 コンポーネント内の他の事前定義済み属性(.migrateable、.boot_tout など)は、アセンブリの subordinate エンティティで同じ名前の属性を指定することによりオーバーライドされますが、コンポーネント自身の .field_opt はオーバーライドされず、クラス フィールド オプションとして維持されます。 コンポーネント記述子構文での .field_opt の定義、および上記のアセンブリ属性の説明を参照してください。

.vlan

0 から 4095 までの整数です。 これは下位コンポーネントでのみ適用可能で、下位のアセンブリでは設定できません。 コンポーネントの外部インターフェースが存在する場合、この属性によって vlan タグが定義されます。 コンポーネントに外部インターフェースがない場合は、セッティングは無視され、エラーは報告されません。

事前定義済みの属性名以外はすべて、指定された値に設定される必要がある下位コンポーネントのプロパティ名であると見なされます。これには、下位コンポーネントの事前定義済み属性(.boot_tout、.migrateable、.server、.standby)、およびそこでの 'property' または 'volume' エンティティで定義されるコンポーネント固有のプロパティが含まれます(「コンポーネント記述子構文」を参照してください)。

プロパティがアセンブリ境界に接続することを示す特殊な値が $.name が定義されています。ここでは、name はアセンブリの 'property' か 'volume' エンティティのいずれかの名前です。 $. から始まるリテラル値にプロパティをセットする必要がある場合は、 その値がプロパティ接続として解釈されることがないように値をクォートする必要があります。 複数の下位プロパティを同一の境界プロパティと接続できます。また、外部スコープのアセンブリで値が指定されていない場合、そのようなプロパティはすべて境界プロパティ定義からデフォルト値を取得します。 $.name をアセンブリ境界上の通常プロパティにして、subordinate の事前定義済み属性で使用することもできます。

アセンブリ内の subordinate エンティティは、「コンポーネント記述子構文」で定義されている同様の属性を使用して、resource サブエンティティの mem、cpu および bw を受取ります。下位のシンプルなコンポーネントに適用される際には、それらがコンポーネント内のリソース設定を上書きします。 上書きは、コンポーネントで定義された範囲内に限定されている必要があります(すなわち、新しい範囲は古い範囲を超えず、古い範囲内に全体が収まる必要があります)。 アセンブリである subordinate に適用された場合、指定されたリソースは、各アセンブリの下位のリソース要件の重み付けに従って比例配分されます。 下位アセンブリのリソース設定が原因で、定義済みの最小-最大範囲を超えたリソース設定がコンポーネントに渡された場合は、ADL リンカによってエラーがレポートされます。