Initialization

 


Overview

When the component initialization routine is invoked, it must call the queue manager MQZEP function for each entry-point supported by the component. MQZEP defines an entry-point to the service. All the undefined exit points are assumed to be NULL.

 

Primary initialization

A component is always invoked with this option once, before it is invoked in any other way.

 

Secondary initialization

A component can be invoked with this option on certain platforms. For example, it can be invoked once for each operating system process, thread, or task by which the service is accessed.

If secondary initialization is used:

  • The component can be invoked more than once for secondary initialization. For each such call, a matching call for secondary termination is issued when the service is no longer needed.

    For naming services this is the MQZ_TERM_NAME call.

    For authorization services this is the MQZ_TERM_AUTHORITY call.

  • The entry points must be re-specified (by calling MQZEP) each time the component is called for primary and secondary initialization

  • Only one copy of component data is used for the component; there is not a different copy for each secondary initialization

  • The component is not invoked for any other calls to the service (from the operating system process, thread, or task, as appropriate) before secondary initialization has been carried out.

  • The component must set the Version parameter to the same value for primary and secondary initialization

 

Primary termination

The primary termination component is always invoked with this option once, when it is no longer required. No further calls are made to this component.

 

Secondary termination

The secondary termination component is invoked with this option, if it has been invoked for secondary initialization