2.1 ICFの構文
ICFの構文は次のとおりです:
[#pragma activation_policy method | transaction | process]
[#pragma transaction_policy never | ignore | optional | always]
[#pragma concurrency_policy user_controlled | system_controlled]
[#pragma retry_policy never | always]
[Module module - name {
]
implementation[implementation - name]
{
implements(module - name::interface - name);
[activation_policy(method | transaction | process);]
[transaction_policy(never | ignore | optional | always);]
[concurrency_policy(user_controlled | system_controlled);]
[retry_policy(never | always)];
};[};]-
pragmas - 任意の4つのプラグマを使用すると、明示的な
activation_policy、transaction_policy、concurrency_policy、またはretry_policy文を持たないすべての実装用のICF全体のデフォルト・ポリシーとして、特定のポリシーを設定できます。この機能により、プログラマは、実装ごとにポリシーを指定する必要がなくなります。また、デフォルトをオーバーライドすることもできます。 -
Module module-name module-name変数は、OMG IDLファイルでオプションの場合はオプションです。この変数は、スコープとグループを指定する場合に使用します。この変数を使用する場合は、OMG IDLファイル内の使い方と一貫性を持たせる必要があります。-
implementation-name - この変数はオプションで、サーバントの名前またはサーバー内のクラス名として使用します。プログラマが指定していない場合は、
interface-nameに_iを追加して名前が作成されます。 -
implements (module-name::interface-name) - この変数は、アクティブ化ポリシーおよびトランザクション・ポリシーの適用対象となるモジュールおよびインタフェースを識別します。
-
activation_policy - アクティブ化ポリシーの詳細は、「アクティブ化ポリシー」を参照してください。
-
transaction_policy - トランザクション・ポリシーの詳細は、「トランザクション・ポリシー」を参照してください。
-
concurrency_policy - 同時実行性ポリシーの詳細は、「並行オブジェクト」を参照してください。
-
retry_policy - 再試行ポリシーの詳細は、「IIOPクライアント・フェイルオーバー」を参照してください。
親トピック: 実装構成ファイル(ICF)