Configuring an Internal Queue Listener

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.

Reference: Internal Queue Listener Configuration Parameters

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:

  • none {false}
  • rdbms {rdbms}
  • file {true}

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:

  • smallest {best}
  • none {none}
  • fastest {speed}
  • standard {std}

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.

Reference: Internal Queue Listener Special Registers

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.