The Enqueue mediator uses a priority executor to handle messages. Priority executors are used in high-load scenarios when you want to execute different sequences for messages with different priorities. This approach allows you to control the resources allocated to executing sequences and to prevent high-priority messages from getting delayed and dropped. For example, if there are two priorities with value 10 and 1, messages with priority 10 will get 10 times more resources than messages with priority 1.
The Enqueue mediator is a content-unaware mediator.
|Table of Contents|
|Executor||The priority executor that should be used to process the messages.|
|Priority||The priority of messages that this mediator will handle. This priority level should also be defined in the priority executor.|
|Sequence||The sequence that should be used to process messages with the specified priority. This sequence should be saved in the registry before it can be selected here. Click either Configuration Registry or the Governance Registry to select the required sequence from the resource tree.|
You can configure the mediator using XML. Click switch to source view in the Mediator window.
For an example of priority-based mediationIn this example, two Enqueue mediator configurations use the priority executor
One based on which requests are prioritized. A sequence named
Send applies to requests with priority
2, and a sequence named
LogSend applies to priority
<inSequence xmlns="http://ws.apache.org/ns/synapse"> <enqueue executor="One" priority="2" sequence="conf:/Send"></enqueue> <enqueue executor="One" priority="1" sequence="conf:/LogSend"></enqueue> </inSequence>
For another example, see Sample 652: Priority Based Message Mediation.