Errors that are encountered with non-transactional messages are
handled as described in Managing errors in the input node.
- If the TimeoutNotification node
detects an internal error, one of the following actions occur:
- If you have not connected the Failure terminal:
- The TimeoutNotification node
writes the error to the local error log.
- The TimeoutNotification node
repeatedly tries to process the request until the problem has been
resolved.
- If you have connected the Failure terminal, you are responsible
for handling the error in the flow connected to the Failure terminal.
The broker creates an exception list to represent the error, which
is propagated to the Failure terminal as part of the message tree.
The TimeoutNotification node
and the broker do not provide further failure processing. The message
is written to the Failure terminal as part of the same transaction,
and if the failure flow handles the error successfully the transaction
is committed.
- If the TimeoutNotification node
has successfully propagated the message to the Out terminal and an
exception is thrown in the flow connected to the Out terminal, the
message is returned to the TimeoutNotification node. The TimeoutNotification node writes
the error to the local error log and does one of the following:
- If you have not connected the Catch terminal, the TimeoutNotification node tries
to process the message again until the problem is resolved.
- If you have connected the Catch terminal, you are responsible
for handling the error in the flow connected to the Catch terminal.
The broker creates an exception list to represent the error, which
is propagated to the Catch terminal as part of the message tree. The TimeoutNotification node and
the broker do not provide further failure processing. The message
is written to the Catch terminal as part of the same transaction,
and if the flow connected to the Catch terminal handles the error
successfully the transaction is committed.
- If the TimeoutNotification node
has already propagated the message to the Catch terminal and an exception
is thrown in the flow connected to the Catch terminal, the message
is returned to the TimeoutNotification node. The TimeoutNotification node writes
the error to the local error log and tries to process the message
again.
- If the TimeoutNotification node
has already propagated the message to the Failure terminal and an
exception is thrown in the flow connected to the Failure terminal,
the message is returned to the TimeoutNotification node. The TimeoutNotification node writes
the error to the local error log, and tries to process the message
again. The message is not propagated to the Catch terminal, even if
that is connected.
This action is summarized in the following table.
Error event |
Failure terminal connected |
Failure terminal not connected |
Catch terminal connected |
Catch terminal not connected |
The node detects an internal error. |
The flow that is connected to the Failure terminal
handles the error. |
The error is logged and the node retries the
operation. |
Not applicable |
Not applicable |
The node propagates a message to the Out terminal
and an exception occurs in the output flow. |
Not applicable |
Not applicable |
The flow that is connected to the Catch terminal
handles the error. |
The error is logged and the node retries the
operation. |
The node propagates a message to the Catch terminal
and an exception occurs in the flow that is connected to the Catch
terminal. |
The error is logged and the node retries the
operation. |
The error is logged and the node retries the
operation. |
Not applicable |
Not applicable |
The node propagates a message to the Failure
terminal and an exception occurs in the flow that is connected to
the Failure terminal. |
Not applicable |
Not applicable |
The error is logged and the node retries the
operation. |
The error is logged and the node retries the
operation. |