Reference: |
The Ordered Emit service is used to send a message to a group that is managed by an ordered queue. The document is marshaled with its context and then placed on the queue to be executed by the Ordered Queue listener and channel. The characteristics of message management and sequencing are controlled by the Ordered Queue listener and channel. The use of ordered queues is similar to the use of internal queues, which provide no ordering. For more information, see Internal Queue Processing.
To configure an Ordered Emit service:
For a complete description of the configuration parameters that are available for the Ordered Emit service, see Ordered Emit Service Parameters.
For a complete description of the edges that are returned by the Ordered Emit service, see Ordered Emit Service Edges.
The following table lists and describes parameters for the Ordered Emit service.
Note: Parameters that are common to emit services are described in Service Configuration Parameters.
Parameter |
Description |
---|---|
Queue Name (required) |
The name of the ordered queue that is serviced by an Ordered Queue listener. The queue is created when the channel is started and exists as long as the server is running. |
Group Key (required) |
Identifies the group for this message. Groups are created in the ordered queue when a new key is presented, and are deleted when the last message for that group has completed execution. |
Message Type |
The classification of the message that is being sent to the ordered queue. Select one of the following message types from the drop-down list:
|
Sort Key |
The sort key is applied only for non-chronological batching queues. Passes the key to be used for the intra-batch sorting. Usually this will be an iFL statement extracting some value from the message itself, such as a sequence number. |
Want User Registers |
If set to true, user-type registers are passed to the ordered queue. DOC and HDR registers are always transferred with the message. By default, this parameter is set to false. |
Put Timeout |
Determines the amount of time that the emit will wait for the ordered channel to accept the message. If the ordered queue is inhibited, the emit is paused until the message can be accepted. If the timeout period expires, a status message is sent down the timeout edge, where your application might chose to pend the message. For more information on using inhibition to provide cascading flow congestion management, see the Introducing iWay Service Manager chapter in the iWay Service Manager User's Guide. If no value is supplied, timeout will be set to 3000 milliseconds by default. |
Request Context Namespace |
By specifying a namespace, registers in that namespace will be sent to the ordered queue. This is used to limit the registers to those of interest to the message process. |
Return (required) |
Select one of the following options from the drop-down list:
|
Response Context Namespace |
This parameter is used only for synchronous emits. If set, registers returned from the ordered channel are placed into this namespace. |
The following table lists and describes the edges that are returned by the Ordered Emit service.
Edge |
Description |
---|---|
success |
The message was enqueued for execution by the listener and channel that is servicing the ordered queue. |
fail_parse |
The iFL used to configure this service contained an error. |
fail_notfound |
The ordered queue was not available. |
timeout |
The message could not be placed onto the ordered queue in the time period specified in the Put Timeout parameter. This signifies that the queue was inhibited and could not receive messages. |
cancelled |
A cancel order was received while the service was in operation. |
fail_operation |
The message could not be marshaled or could not be enqueued for some other reason. |
notfound |
The ordered queue was not available. In some applications this may not be considered an error, so this edge is provided along with the fail_notfound edge. |
iWay Software |