Show TOC

Queues for Asynchronous Message ProcessingLocate this document in the navigation structure

In asynchronous message processing , the technical names of the inbound and outbound queues differ according to the role of the Integration Engine :

  • Central Integration Server

    The Integration Engine has inbound and outbound queues.

  • Local Integration Engine without integration logic

    The Integration Engine has sender and receiver queues.

Additional queues are required to process acknowledgment messages , and queues are required to process particularly large messages. The latter are only used for Exactly-Once processing.

More information: Configuration Parameters EO_MSG_SIZE_LIMIT and EO_MSG_SIZE_LIMIT_PARALLEL of the Tuning category.

So that all messages (including the acknowledgment messages) can be processed automatically, you must register queues that are used by the Integration Engine with transaction SMQR.

Naming

Adhere to the following conventions for prefixes when naming these queues. EO stands for quality of service Exactly Once and EOIO stands for quality of service Exactly Once In Order.

Queue Name (maximum 24 characters)

  Sender Inbound Outbound Receiver Acknowledgment Large Message

EO

XBTSx

XBT1x

XBT9x

XBTIx

XBT1x

XBT9x

XBTOx

XBTAx

XBTZx

XBTRx

XBTAx

XBTZx

XBTBx

XBTXx

XBTYx

XBTLx

XBTMx

EOIO

XBQSx

XBQ1x

XBQ9x

XBQIx

XBQ1x

XBQ9x

XBQOx

XBQAx

XBQZx

XBQRx

XBQAx

XBQZx

XBQBx

XBQXx

XBQYx

 

If you use the Switch Procedure for the overserialization of EOI queues, a new set of EOIO queues is created with the prefix XB2 (instead of XBQ). The error queues XBQE, XBQF, and XBQG are also created.

More information: Changing the Number of EOIO Queues .

Determining the Suffix
The suffix
x
in the queue name is determined differently depending on the quality of service; the suffixes for the sender, receiver, and inbound queues are determined in the same way.

Quality of Service EO

For quality of service EO, a four-digit number is generated to complete the queue name using a random algorithm to determine the suffix of the sender, receiver, and inbound queues. This enables you to process multiple messages simultaneously in different queues.

You can determine the area valid for the random algorithm using the configuration parameter EO_INBOUND_PARALLEL from the category Tuning. Using the sub parameters SENDER, CENTRAL and RECEIVER, you can define separate areas for the sender queue, inbound queue, and receiver queue.

Tip

Generated random number: 38

Queue name: XBTI0038

On the central Integration Server, messages are persisted again after inbound processing and scheduled for sending to the determined receiver . To avoid them being blocked, messages are bundled according to receiver and placed in outbound queues assigned to the respective receivers. The corresponding queue is determined using a four-digit encryption of the receiver name.

If an error requiring manual restart occurs during processing, the message is removed from the queue and the subsequent messages are processed.  If an error occurs that automatically restarts the message (for example, with connection problems to the receiver), the message blocks the queue after the last (failed) attempt to avoid subsequent messages from encountering the same problem.

Tip

Receiver name: CLIENT_XYZ

Encrypted name: 3___

Queue name: XBTO3___

If more than one message is sent to the same receiver, use the configuration parameter EO_OUTBOUND_PARALLEL of the Tuning category to process messages simultaneously in different queues. A random algorithm is also used here to generate a four-digit number to complete the queue name. You must enter the receiver in the Sub parameter column and the area valid for the random algorithm in the Value column for this purpose.

Tip

Receiver name: CLIENT_XYZ

Encrypted name: 3___

Generated random number: 17

Queue name: XBTO3___0017

If all messages are to be processed in parallel outbound queues, specify only the area for the random algorithm with the configuration parameter, without entering a specific receiver.

The message is persisted again once it has been sent successfully. Once the message has been processed successfully in the target system, the Integration Engine executes an implicit database commit . If an error occurs during message processing, the Integration Engine executes an implicit database rollback.

Quality of Service EOIO

In this case, the queue names supplied by the application are used to determine the suffix of the sender, receiver, and inbound queues. This name must not be more than 16 characters long and it is added to the prefix of the queue name. You can use the following characters in the name: numbers (0-9); upper case letters (A-Z); underscores (_); and forward slashes (/).

Tip

Queue name from the application: APPQUEUENAME (maximum 16 characters)

Inbound queue name: XBQIAPPQUEUENAME

The name of the corresponding outbound queue is determined on the central Integration Server to bundle the messages according to receiver. This is done by using the name of the determined receiver . In this case the name of the application queue is used as well.

Tip

Receiver name: CLIENT_XYZ

Encrypted name: 3___

Outbound queue name: XBQO3___APPQUEUENAME (maximum of 24 characters)

Inbound messages with the same receiver are processed in the same sequence that they arrived. The messages are also sent in this sequence to their respective receivers; because they have the same queue name that was supplied by the application, they are placed in the same outbound queue.

If an error occurs in the processing, the incorrect message blocks the queue to preserve the processing order.

However, if the messages have different receivers, the sequence does not have to stay the same.

The message is persisted again once it has been sent successfully. Once the message has been processed successfully in the target system, the Integration Engine executes an implicit database commit . Otherwise, it executes an implicit database rollback.