Developing a user exit

Develop a user exit by declaring it, implementing its behavior, then compiling it.

About this task

To develop a user exit, follow these steps.

Procedure

  1. Declare the user exit.

    Declare a user exit by using the bipInitializeUserExits function to specify the following properties:

    1. Name (used to register and control the active state of the exit)
    2. User context storage
    3. A function to be invoked (for one or more Event Types)
  2. Implement the user exit behavior.

    When the user exit is declared, a set of functions is registered, and these functions are invoked when specific events occur. The behavior of the user exit is provided by implementing these functions. The following table lists the events and their associated functions:

    Event Function
    A message is dequeued from the input source cciInputMessageCallback
    A message is propagated to the node for processing cciPropagatedMessageCallback
    A request message is sent to the output node's transport, and transport-specific destination information is written to "WrittenDestination" in the LocalEnvironment cciOutputMessageCallback
    The node completes processing cciNodeCompletionCallback
    The transaction ends cciTransactionEventCallback
  3. Your user exit code must implement the cleanup function.

    The user exit library must implement the bipTerminateUserExits function. This function is invoked as the integration server's process is ending, and your user exit must clear up any resources allocated during the bipInitializeUserExits function.

  4. Compile.

    Use your existing process for your environment to compile your user exit. See Compiling a C user-defined extension for more details.

    For details of supported C compilers, see IBM® Integration Bus system requirements.

  5. Link the compiled code to a library with the extension .lel that exports the bipInitializeUserExits and bipTerminateUserExits functions.

What to do next

Deploy the user exit by following the instructions in Deploying a user exit.