Home

 

Example of entry points used with multiple components

 

Table 1 shows an example of the installable name service for which the two components have been installed. Each supports a different set of functions associated with this particular installable service. For insert function, the ABC component entry-point is invoked first. Entry points that have not been defined to the service (using MQZEP) are assumed to be NULL. An entry-point for initialization is provided in the table, but this is not required because initialization is carried out by the main entry-point of the component.

When the queue manager has to use an installable service, it uses the entry-points defined for that service (the columns in Table 1). Taking each component in turn, the queue manager determines the address of the routine that implements the required function. It then calls the routine, if it exists. If the operation is successful, any results and status information are used by the queue manager.

Example of entry-points for an installable service
Function number ABC name service component XYZ name service component
MQZID_INIT_NAME (Initialize) ABC_initialize() XYZ_initialize()
MQZID_TERM_NAME (Terminate) ABC_terminate() XYZ_terminate()
MQZID_INSERT_NAME (Insert) ABC_Insert() NULL
MQZID_DELETE_NAME (Delete) ABC_Delete() NULL
MQZID_LOOKUP_NAME (Lookup) NULL XYZ_Lookup()

If the routine does not exist, the queue manager repeats this process for the next component in the list. In addition, if the routine does exist but returns a code indicating that it could not perform the operation, the attempt continues with the next available component. Routines in service components might return a code that indicates that no further attempts to perform the operation should be made.

 

Parent topic:

Using multiple service components


fa16400_


 

Home