Properties Related to Large Message Handling
Use
Large Message Handling restricts the number of large messages that can be processed at the same time across a configured set of Messaging System queues on one AS Java server node. This restriction helps to improve the performance of message processing and the number of permits can either be configured globally or for each instance. This number of permits is then applied to each AS Java server node.
A message is considered to be "large" if it exceeds the threshold for large messages. In order to be processed, the message must have a specific number of permits (the number of permits is the message size divided by the threshold). If there are not enough permits available at a particular time, the message is left in the queue and the queue will process any other available messages, for example, small messages where the size is smaller than the threshold or which require fewer permits. The large message remains in the queue until the required number of permits becomes available. If the message size is larger than the total number of permits divided by large message threshold, then it is possible to blacklist the message by activating an additional option. If this option is not deactivated, the message processing will be continued using the maximum available permits.
Activities
Configuration Steps:
-
To configure Large Message Handling go to http://<host>:<port>/nwa and open the Java System Properties using .
-
Go to the Services tab page and search for the service name XPI Service: Messaging System
-
Configure the properties according to your requirements.
Configuration Considerations
The settings for the large message threshold and total number of permits are system-specific.
The initial heap size of a newly started AS Java server node is about 700 MB. If the PI system uses SLD and XSLT mappings locally, then you should assume that up to 300 MB can be used for caches. If it is a dual stack installation, then mapping calls from the Integration Engine also need processing space. Large Message Handling does not capture the processing of sender channels. If you have a heap size of 3 GB for each AS Java server node, then you can assume that you can have up to 1.5 GB processing space for large messages. Another consideration is how much processing space is required for a message of size X MB. Based on current experience this could reach a factor of 15 for very memory-intensive mappings or complex XPath expressions in content-based routing. This could lead to about 100 MB total message size for large messages that are processed concurrently.
The following configurations are therefore possible with default values enabled:
-
10 permits with 10 MB threshold, or
-
20 permits with 5 MB threshold, or
-
100 permits with 1 MB threshold. This allows precise control over large messages.
If a very large message arrives which exceeds the processing space for large messages, you can decide either to let it be processed or to blacklist it immediately. It is still possible to process a blacklisted message manually.
The following properties are related to Large Message Handling
|
Name |
Description |
|---|---|
|
messaging.largemessage.enabled |
Value type: Boolean Activates on large memory handling in PI messaging system, default value false (deactivated). |
|
messaging.largemessage.permits |
Value type: Integer Defines the total number of permits available for each AS Java server node. Default value: 10 . |
|
messaging.largemessage.queueTypes |
Value type: String Defines the types of queues for which large message handling is activated. Default value is " (empty string), similar to the maxReceivers it implies Send and Recv queue types for each adapter. |
|
messaging.largemessage.threshold |
Value type: Integer Defines the threshold for large messages in kilobytes. Default value is 10240 or 10 MB . |
|
messaging.largemessage.blacklistXLMessage |
Value type: Boolean Determines whether a message larger than the threshold multiplied by the total number of permits should be blacklisted. The default value is false, which means that message processing will commence when the message can obtain the total number of permits. |

