Configuring an Ordered Emit Service

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:

  1. Perform the steps as described in Configuring Services.
  2. Ensure that you select Ordered Emit Agent {com.ibi.agents.XDOrderedEmitAgent} as the service type you are configuring.

    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.


Top of page

x
Reference: Ordered Emit Service Parameters

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:

  • document. The current document message is to be enqueued for its group key.
  • delete. The batch queue is to be deleted. Has no effect for an immediate queue.
  • end. The final message has been enqueued for this group, and the batch queue is to be made available for dispatching. Has no effect for an immediate queue.
  • keep alive. Resets the timeout period for a batch queue. Has no effect for an immediate queue.
  • last document. Affects a document and end operation. Signals that this message is the final message and the queue is to be made available for dispatching.

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:

  • status (default). A status document is returned showing the success of the queuing operation.
  • input. The input document that originally came into the emit service is returned.
  • response. The response from the execution through the ordered channel is returned. When response is set, the emitter waits for the response from the ordered channel, making this a synchronous call.

Response Context Namespace

This parameter is used only for synchronous emits. If set, registers returned from the ordered channel are placed into this namespace.



x
Reference: Ordered Emit Service Edges

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