Message queues are the place holders of Application Messages. IFS Connect Message Queues are used for different purposes, such as:
Some default queues are created at the initialization process and are used by the IFS Connect Framework for the above purposes while any new queue can be created and configured by using the Message Queue feature in IFS Solution Manager (Setup IFS Connect). Also behavior of the existing queues can be changed using the same feature.
Those default message queues are
Note: Any message that should be deleted permanently should be moved to the Trashcan Queue so that the cleaning database task can identify and remove it.
An important property of a message queue is its Execution Mode. With exception of ERROR and TRASHCAN queues it is possible to choose one the following modes for any queue:
Messages in an InParallel queue are executed parallel. Processing of
messages is started by the database trigger (see the
description of the flow) and the message state is change from Released
to Processing. The only difference between InParallel and
InSequence is that messages in an InSequence queue are executed one
at time, but without any specific order. Message flow and state transitions are
the same for both modes.
A queue can be manually stopped causing all new messages to enter state
Suspended. Starting a queue will cause all suspended messages to be released
and processed by the trigger. Queue can only be stopped manually.
When examining messages in such queue there can be a number of messages in state
Processing and normally shouldn't be any message in state Released.
The InOrder mode is quite different. In this mode the purpose of JMS
messages sent by the database trigger is only to notify the Batch Processor
about new messages without changing state. Messages are remained Released
until fetched by the Batch Processor, which will change the state to
Processing for the first message. Messages are executed one by one in a
strict order and a single JMS message will trig the execution of all released
messages in the queue, of course, one at time.
Another behavior of an InOrder queue is that it will be automatically
stopped on failure and will require manual restart after the cause of the
failure has been removed. Stopping an InOrder queue will not cause any
state transition - released messages will remain in state Released.
Consequently there are no needs for any state transition on starting the queue -
it will just resume processing of messages in order, provided the first one is
not Failed.
When examining messages in an InOrder queue there should be only one (or
none) message in state Processing and possibly a number of messages in
state Released.
State Suspended can only be entered when manually suspending messages in
Solution Manager.
Application message is the data structure used in IFS Connect framework. Any application message consists of three major parts:
An entry in the Address list describes: