Channel Queue Receiver¶
The Channel Queue Receiver lets a channel accept messages routed in-process from another channel's Channel Queue destination. No real protocol is used. Sender and receiver hand the message off through QIE's internal queues, so there is no network hop, serialization cost, or external dependency.
A Channel Queue is identified by a Channel Queue ID that the sender targets and the receiver claims. Multiple senders may target the same Queue ID; the first matching, in-scope, running receiver picks the message up.
Queue ID¶
The Channel Queue ID that this receiver listens on. Senders configured with the same Queue ID deliver messages here, subject to Scope below. Queue IDs are case-sensitive.
Scope¶
Controls which senders are allowed to deliver to this receiver.
| Scope | Description |
|---|---|
| Zone | Only senders whose channel is in the same zone as this receiver can deliver. Senders in other zones targeting the same Queue ID fail their send and the message lands in the sender's channel error queue. |
| Global | Senders in any zone can deliver to this receiver. Use Global when one shared receiver should serve channels from multiple zones (for example, a single audit-logging or error-handling channel). |
Note
Scope is set on the receiver, not on the sender. The sender has no scope field. It simply targets a Queue ID, and the engine looks for an in-scope receiver.
Response¶
When processing inbound messages, the sending channel may be configured to wait for an acknowledgement. QIE supports the following response options on the receiver:
| Response Option | Description |
|---|---|
| No Response or Acknowledgement | No acknowledgement is returned to the sending channel. |
| From Acknowledgement Script | The acknowledgement is generated using the Response Script and posted back to the sending channel prior to the message being processed through this channel. |
| From Mapping or Destination node | The acknowledgement is held open while the message is processed through this channel and waits for a response to be posted by one of the channel nodes (by calling the qie.postMessageResponse() function). |
Response Script¶
When the Response option is configured to post a response From Acknowledgement Script, the response script is executed to generate and post the acknowledgement back to the sending channel prior to processing the message through this channel.
Timeout¶
When the Response option is configured to post a response From Mapping or Destination node, this receiver holds the acknowledgement open until 1) a response is posted by one of the channel nodes (by calling the qie.postMessageResponse() function) or 2) the specified timeout period is exceeded while waiting for a response.
Timeout Script¶
If the request times out waiting for a response to be posted, the timeout script is executed and is expected to post a "timed out" response back to the sending channel by calling the qie.postMessageResponse() function (see Creating Custom Scripts for more information).