Use the TimeoutNotification node to manage timeout-dependent message flows.
This topic contains the following sections:
The TimeoutNotification node is an input node that you can use in two ways:
The TimeoutNotification node processes timeout request messages that are sent by the TimeoutControl nodes with which it is paired, and propagates copies of the messages (or selected fragments of the messages) to the next node in the message flow.
Generated messages are propagated to the next node in the message flow at time intervals that are specified in the configuration of this node.
The TimeoutNotification node is contained in the Timer drawer of the palette, and is represented in the IBM® Integration Toolkit by the following icon:
Use a TimeoutControl node and a TimeoutNotification node together in a message flow for an application that requires events to occur at a particular time, or at regular intervals; for example, when you want a batch job to run every day at midnight, or you want information about currency exchange rates to be sent to banks at hourly intervals.
You can use more than one TimeoutControl node with a TimeoutNotification node. Timeout requests that are initiated by those TimeoutControl nodes are all processed by the same TimeoutNotification node if the same Unique Identifier is used for the TimeoutNotification node and each of the TimeoutControl nodes. However, do not use the same Unique identifier for more than one TimeoutNotification node.
Timeout request messages are stored for processing on a queue used by the TimeoutNotification node. By default, this queue is the SYSTEM.BROKER.TIMEOUT.QUEUE. However, you can use a Timer configurable service to specify an alternative timeout queue, which provides greater control over the storage of messages. For information about using an alternative timeout queue, see Configuring the storage of events for timeout nodes.
When a TimeoutNotification node is started as a result of the broker starting, or by the message flow that contains the node starting, it scans its internal timeout store and purges any non-persistent timeout requests. Notifications are issued for any persistent timeout requests that are now past and that have the IgnoreMissed property set to False.
CREATE NEXTSIBLING OF OutputRoot.Properties DOMAIN 'MQMD';
SET OutputRoot.MQMD.Version = MQMD_CURRENT_VERSION;
SET OutputRoot.MQMD.Format = 'XML';
You can view information about samples only when you use the product documentation that is integrated with the IBM Integration Toolkit or the online product documentation. You can run samples only when you use the product documentation that is integrated with the IBM Integration Toolkit.
When you have put an instance of the TimeoutNotification node into a message flow, you can configure it; see Configuring a message flow node. The properties of the node are displayed in the Properties view. All mandatory properties for which you must enter a value (those that do not have a default value defined) are marked with an asterisk.
The terminals of the TimeoutNotification node are described in the following table.
Terminal | Description |
---|---|
Failure | The output terminal to which the message is propagated if a failure is detected during processing in this node. Nodes can be connected to this terminal to process these failures. If this terminal is not connected to another node, messages are not propagated and no logging or safe storage of data occurs. |
Out | The output terminal to which messages are propagated
after timeouts expire.
|
Catch | The output terminal to which the message is
propagated if an exception is thrown downstream. If this terminal
is not connected to another node, the following events occur:
|
The following tables describe the node properties. The column headed M indicates whether the property is mandatory (marked with an asterisk if you must enter a value when no default is defined); the column headed C indicates whether the property is configurable (you can change the value when you add the message flow to the BAR file to deploy it).
The Description properties of the TimeoutNotification node are described in the following table.
Property | M | C | Default | Description |
---|---|---|---|---|
Node name | No | No | The node type: TimeoutNotification | The name of the node. |
Short description | No | No | A brief description of the node. | |
Long description | No | No | Text that describes the purpose of the node in the message flow. |
The Basic properties of the TimeoutNotification node are described in the following table.
Property | M | C | Default | Description | mqsiapplybaroverride command property |
---|---|---|---|---|---|
Unique Identifier | Yes | Yes | None | This property specifies a value that is unique
within the broker and that is the same as the identifier that is specified
for the TimeoutControl nodes
with which this node is paired (if there are any). The maximum length
of this identifier is 12 characters. This name is also used to identify a Timer configurable service (if one exists) to be used by the node. Do not use the same Unique Identifier for more than one TimeoutNotification node. |
uniqueIdentifier |
Transaction Mode | No | No | Yes | The transaction mode for the node. If the transaction
mode is Automatic, a
transaction is based on the persistence of the stored messages, which
is controlled by the Request Persistence property
of the TimeoutControl node
with which it is paired. You can set this property to one of the following
values:
|
|
Operation Mode | No | No | Automatic | This property indicates whether this node is
paired with any paired TimeoutControl nodes. Valid
values are:
|
|
Timeout Interval | No | Yes | 1 | The interval (in seconds) between timeout requests.
This property is relevant only if Operation
Mode is set to Automatic. The value of this property must be a positive integer. If the Operation Mode is set to Automatic, the value of the Timeout Interval property is overridden by the Timeout interval property, if set, in the Timer configurable service. |
timeoutInterval |
The properties of the Parser Options for the TimeoutNotification node are described in the following table.
Property | M | C | Default | Description |
---|---|---|---|---|
Parse Timing | No | No | On Demand | This property controls when the timeout message
is parsed. Valid values are On
Demand, Immediate,
and Complete. By default, this property is set to On Demand, which causes parsing of the message to be delayed. To cause the message to be parsed immediately, see Parsing on demand. |
Build tree using XML schema data types | No | No | Cleared | This property controls whether the XMLNSC parser creates syntax elements in the message tree with data types taken from the XML Schema. You can select this property only if you set the Validate property on the Validation tab to Content or Content and Value. |
Use MQRFH2C Compact Parser for MQRFH2 Domain | No | No | Cleared | This property controls whether the MQRFH2C Compact Parser, instead of the MQRFH2 parser, is used for MQRFH2 headers. |
Use XMLNSC Compact Parser for XMLNS Domain | No | No | Cleared | This property controls whether the XMLNSC Compact Parser is used for messages in the XMLNS Domain. If you set this property, the message data appears under XMLNSC in nodes that are connected to the output terminal when the input RFH2 header or default properties Domain is XMLNS. |
Retain Mixed Content | No | No | None | This property controls whether the XMLNSC parser creates elements in the message tree when it encounters mixed text in a timeout message. If you select the check box, elements are created for mixed text. If you clear the check box, mixed text is ignored and no elements are created. |
Retain Comments | No | No | None | This property controls whether the XMLNSC parser creates elements in the message tree when it encounters comments in a timeout message. If you select the check box, elements are created for comments. If you clear the check box, comments are ignored and no elements are created. |
Retain Processing Instructions | No | No | None | This property controls whether the XMLNSC parser creates elements in the message tree when it encounters processing instructions in a timeout message. If you select the check box, elements are created for processing instructions. If you clear the check box, processing instructions are ignored and no elements are created. |
Opaque elements | No | No | Blank | This property is used to specify a list of elements in the timeout message that are to be opaquely parsed by the XMLNSC parser. Opaque parsing is performed only if validation is not enabled (that is, if Validate is None); entries that are specified in Opaque Elements are ignored if validation is enabled. |
The Validation properties of the TimeoutNotification node are described in the following table.
If a message is propagated to the Failure terminal of the node, it is not validated. For more information, see Validating messages and Validation properties.Property | M | C | Default | Description | mqsiapplybaroverride command property |
---|---|---|---|---|---|
Validate | No | Yes | None | This property controls whether validation takes place. Valid values are None, Content, and Content And Value. | validateMaster |
Failure Action | No | No | Exception | This property controls what happens if validation fails. You can set this property only if you set Validate to Content or Content and Value. Valid values are User Trace, Local Error Log, Exception, and Exception List. |
Property | M | C | Default | Description |
---|---|---|---|---|
Events | No | No | None | Events that you have defined for the node are
displayed on this tab. By default, no monitoring events are defined
on any node in a message flow. Use Add, Edit,
and Delete to create, change or delete monitoring
events for the node; see Configuring monitoring event sources using monitoring properties for details. You can enable and disable events that are shown here by selecting or clearing the Enabled check box. |