Reference: |
To configure an Internal Queue listener, you must create a channel for your application project using the Channel Builder in iWay Integration Tools (iIT) and select Internal Queue as the listener type for your inlet. For more information, see Configuring a Listener Using iWay Integration Tools.
For a complete description of the configuration parameters that are available for the Internal Queue listener, see Internal Queue Listener Configuration Parameters.
For a complete description of the Internal Queue listener Special Registers (SREGs), see Internal Queue Listener Special Registers.
The following table lists and describes parameters for the Internal Queue listener.
Parameters that are common to queue listeners are described in Listener Configuration Parameters.
Property |
Description |
---|---|
Name of Internal Queue (required) |
A simple, case-sensitive name used to tie the emit service and the listener. This name must be unique to the listener, but can be specified as the destination for any number of emit services. |
Persistent |
If enabled, messages are persisted. Persistent messages are held in the safestore until completion and can be recovered if the server is restarted. Select one of the following options from the drop-down list:
The default value is none {false}. The rdbms option enables the application to persist messages to a remote database location where, in the event of a failover situation, a secondary server running remotely can continue processing persisted messages without any business interruption. To use RDBMS persistence, you must create the iway_queues table in the JDBC provider, using the DDL script in the etc/setup directory. A hot backup channel can be configured to use the same RDBMS safestore. |
Safestore Location |
If persistent, this is the location in the file system to which documents are safestored. |
Compress Persistent |
If the queue is persistent, the documents written to the safestore can be compressed. Select one of the following options from the drop-down list:
The default value is to not compress (none). |
Low Mark |
If the size of the named queue falls below this value from above the value, the named listeners in the Control List are sent an activate message. The default value is 0. |
High Mark |
If the size of the named queue goes above this value, a passivated message is sent to the listeners in the Control List. The default value is 0. |
Control List |
If a high or low mark value is crossed, the appropriate message is sent to each listed listener. For example, if two listeners LISA and LISB are feeding the internal queue, listing them as LISA,LISB will cause each to receive the appropriate message. |
Inhibit Add |
If set, the queue will not accept new messages when its size reaches the high mark, and will resume accepting messages when the number of messages on the queue reaches the low mark. The effect of this inhibition can cascade through the application, controlling overall performance. The default value is false. |
External Mark |
When set to a number greater than 0, this causes the message to be stored in memory up to the specified number. When the queue grows larger than the specified number, the message is stored on disk. This is equivalent to splitting the memory and performance optimization for the messages in the queue, and is effective for large lists that may fill memory. The default value is 0. |
Duration |
Maximum time in seconds (allows xhxxmxxs format) that a document can remain in this channel, starting from when the document is added to the queue, including pends and retries. The default value is 24 hours. |
Support Pending |
If set, messages can be pended for later execution if the process flow calls for a Fail/Pending operation. Pending messages persist for a specified time and are retried at a specific interval. You might use a pending operation in the event that a message cannot be processed because an external resource is currently unavailable. The default value is false. |
Retry Interval |
Determines the interval (in seconds) between retrying pending requests. The default value is 600 seconds (10 minutes). |
Note: Passivation and Inhibition affect the threading model and the movement of messages within an application. Using these facilities, performance can be improved by avoiding queue congestion. For more information on passivation and inhibition, see Chapter 1, Introducing iWay Service Manager in the iWay Service Manager User's Guide.
The following table lists and describes the Special Registers (SREGs) available on the Internal Queue listener. These values can be used in the application for message routing and processing.
Name |
Source |
Level |
Type |
Description |
---|---|---|---|---|
iway.channel |
Listener |
System |
String |
Full name of the channel (may include channelname.inlet.listener). |
iway.channelname |
Listener |
System |
String |
Channel name portion of the name from the full channel name of channelname.inlet.listener. |
iway.inletname |
Listener |
System |
String |
Inlet name portion of the name from the full channel name of channelname.inletname.listener. |
iway.listener |
Listener |
System |
String |
Name of the listener. |
iway.pid |
System |
System |
String |
Process ID of the server, if available. |
iway.serverfullhost |
System |
System |
String |
Full host name of the server (includes domain). |
iway.serverhost |
System |
System |
String |
Host name of the server. |
iwayconfig |
System |
System |
String |
Current active configuration name. |
iwayhome |
System |
System |
String |
Base at which the server is loaded. |
iwayversion |
System |
System |
String |
Release version of the server. |
iwayworkdir |
System |
System |
String |
Path to the base of the current configuration. |
msgsize |
Listener |
Document |
Integer |
Physical length of the message payload. |
name |
Listener |
System |
String |
Assigned name of the master (same as iway.channel). |
protocol |
Listener |
System |
String |
Protocol on which the message was received. |