2.1 ICF Syntax
ICF syntax is as follows:
[#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
- The four optional pragmas allow you to set a specific policy as
the default policy for the entire ICF for all implementations that
do not have an explicit
activation_policy
,transaction_policy
,concurrency_policy
, orretry_policy
statement. This feature relieves the programmer from having to specify policies for each implementation and/or allows overriding of the defaults. -
Module module-name
- The
module-name
variable is optional if it is optional in the OMG IDL file. This variable is used for scoping and grouping. Its use must be consistent with the way it is used inside the OMG IDL file. -
implementation-name
- This variable is optional and is used as the name of the
servant or as the class name in the server. It is constructed using
interface-name
with an_i
appended if it is not specified by the programmer. -
implements (module-name::interface-name)
- This variable identifies the module and the interface to which the activation policy and the transaction policy apply.
-
activation_policy
- For a description of the activation policies, see Activation Policy.
-
transaction_policy
- For a description of the transaction policies, see Transaction Policies.
-
concurrency_policy
- For description of the concurrency policies, see Parallel Objects.
-
retry_policy
- For a description of the retry policy, see IIOP Client Failover.
Parent topic: Implementation Configuration File (ICF)