Show TOC

Transactions for the Asynchronous Sender DirectionLocate this document in the navigation structure

In message processing in the sender direction, you execute the following steps.

Note

An example is available for the first seven steps. Open SPIManagedConnectionFactory.java and search for the character string specified in the steps.

  1. Module processor lookup

    Character string: CS_MPLOOK

    If the exception
    NoSuchObjectLocalException
    is received, the module processor lookup is triggered straight after the module processor call.

    The module processor is restarted. The module processor proxy determined previously is invalid. Then, the message is transferred to the module processor.

    There is an example in CS_AFMPCALL.

  2. Check whether the external message ID is already saved in the MessageIdMapper.

    Character string: CS_IDMAPCHECK

  3. Create the new inbound XI message object or at least the ID for the new XI message

    Character string: CS_MSGCRE

  4. Start a new LUW.

    Character string: CS_LUWBEGIN

  5. Call the module processor: The modules involved must not execute a commit for the LUW. However, they can produce exceptions in error situations.

    Character string: CS_AFMPCALL

  6. Use the MessageIDMapper to create a mapping between the external message ID and the XI message ID for the new sent message. This IDMap and the message are committed to the database by the commit in the next step.

    Character string: CS_IDMAPINSERT

  7. Commit the LUW: The Adapter Framework messaging service queues and the message ID mapping are executed together. This means that the commit for the external protocol can be executed later. The check of the external message ID performed beforehand identifies any duplicate messages.

    Character string: CS_LUWCOMMIT

  8. Commit the processing of the external protocol, if it supports local transactions.

    In the event of an error, the commit is not executed but a rollback of the LUW is performed.