The nature of WS-ReliableMessaging is that network and server failures
are assumed, and therefore the target Web service or message store might not
be available. In these cases, message sequences cannot be completed and collections
of Web service messages are held awaiting transmission. You can use the SystemOut.log file,
system events, and the runtime administrative panels to monitor the system
and detect and fix problems with WS-ReliableMessaging.
About this task
If a sequence fails, a message is written to the application server SystemOut.log file
and a system event is generated. Therefore you can detect failed sequences
by looking at the SystemOut.log file, or by writing an event
listener (or using third party software) to monitor system events.
For
more detailed status information at run time, and facilities to help you fix
problems, use the WS-ReliableMessaging administrative console runtime panels.
These panels are available at many different scopes (for example cell; application
server; cluster). For a full list of the WS-ReliableMessaging runtime panels,
and details of the scopes at which they are available, see WS-ReliableMessaging - administrative console panels.
At
all scopes, the parent panel is
Reliable messaging state settings.
From this panel you can investigate each of the three key runtime aspects
of reliable messaging:
- Message stores
- Inbound sequences
- Outbound sequences
The following icons are displayed here and on several
other reliable messaging runtime panels:
Note that for troubleshooting purposes you only need to follow links
to the sub-panels if states other than "OK" are displayed.
To
use the reliable messaging runtime panels to detect and fix problems with
WS-ReliableMessaging, complete one or more of the following steps:
- Investigate problems with message stores.
In the navigation pane, click To view this pane in the console, click one of
the paths to this panel. For example .
The list of reliable messaging storage managers for the current scope is displayed
in the Message store collection form.
For the managed qualities of service, the messages are written to a messaging engine. For the unmanaged non-persistent quality of service, the messages are stored in memory. For in-memory stores the only possible value is "Running". For messages stored by a messaging engine, the possible values are "Running" or "Messaging engine not contactable", probably because the messaging engine is not running. The "OK" icon indicates that the message store is running. If the messaging engine is not contactable, the "Error" icon is displayed.
For
each message store in the list, the name of the associated reliable messaging
application is given in the description column. If a messaging
engine is not contactable, restart the message store for that application.
- Investigate problems with inbound sequences.
In the navigation pane, clickTo view this pane in the console, click one of
the paths to this panel.
For example . The runtime state of each of the inbound sequences for the current scope is displayed in the Inbound sequence collection form.
You can use a filter to
look at sequences that are in a particular state (for example "Failed due
to missing message") or that have a large number of messages awaiting dispatch
to applications. If the sequence status is Error, there is a problem
with the sequence and the source server hosting the other end of the sequence
has terminated it. If the sequence is active and there are a large number
of messages awaiting dispatch to the application, then there could be a problem
with the application or, if in-order delivery is specified, delivery could
be held up because the sequence has gaps in it.
You can select one or
more sequences, then use the buttons provided to dispatch the messages to
their associated applications, to export the messages to ZIP files, to close
or terminate the selected sequences, or to delete the selected sequences and
all their messages.
To see more detailed information about a particular
sequence, click the
Sequence identifier field.
The
Inbound sequences settings form is displayed.
This detailed information includes addressing information to help you identify
the source of the sequence, and the value (true or false) for "in-order delivery"
for the sequence. From this panel you can also display the following forms:
- The Acknowledgement state collection form. (The ranges of message sequence numbers received from the WS-ReliableMessaging source. If more than one range is displayed, this indicates a gap in the messages received. If "In-order delivery" is selected for the sequence manager, messages with a sequence number greater than the lowest gap cannot be delivered to the application until the gap is closed.)
- The Inbound message collection form. (The messages on the inbound sequence. You
can use this form to delete individual messages.)
- The Message settings form. (The contents of
an individual message in the sequence.)
For more guidance on diagnosing problems with inbound sequences,
see Diagnosing the problem when a reliable messaging source cannot deliver its messages
- Investigate problems with outbound sequences.
In the navigation pane, click To view this pane in the console, click one of
the paths to this panel.
For example . The runtime state of each of the outbound sequences for the current scope is displayed in the Outbound sequence collection form.
You can use a filter to
look at sequences that are in a particular state. For example, the state "Cannot
contact the remote endpoint" indicates that the sequence has been established
but the reliable messaging destination has stopped acknowledging messages
(which, coupled with a high number of messages awaiting transmission, could
indicate a potential problem). If the sequence status is Error, there
is a problem with the sequence and the server hosting the other end of the
sequence has terminated it.
You can select one or more sequences,
and use one of the buttons provided to reallocate messages to new sequences,
to export the messages to ZIP files, to close or terminate the selected sequences,
or to delete the selected sequences and all their messages.
To
see more detailed information about a particular sequence, click the
Sequence identifier field.
The
Outbound sequences settings form is displayed.
This detailed information includes addressing information to help you identify
the server at which the sequence is targeted. From this panel you can also
display the following forms:
- The Outbound message collection form. (The messages on the outbound sequence. You
can use this form to delete individual messages.)
- The Message settings form. (The contents of
an individual message in the sequence.)
For more guidance on diagnosing problems with outbound sequences,
see Diagnosing and recovering a WS-ReliableMessaging outbound sequence that is in retransmitting state.