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.
- 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.
- Check whether the external message ID is already saved in the MessageIdMapper.
Character string: CS_IDMAPCHECK
- Create the new inbound XI message object or at least the ID for the new XI message
Character string: CS_MSGCRE
- Start a new LUW.
Character string: CS_LUWBEGIN
- 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
- 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
- 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
- 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.