This topic describes how to investigate why point-to-point messages
are not arriving at a destination on a service integration bus.
About this task
Use this topic if you have an application that is producing point-to-point
messages in a service integration system, and the messages are not arriving
at their destination.
Perform the following preliminary checks before starting
the investigation:
- Check that the producing application is producing messages correctly:
- Check that there are no failures in the application.
- Check that the name of the destination is correct.
- Check that the transaction used to produce the message was committed without
any exceptions.
- Check that the application is allowing sufficient time for messages to
be delivered; messages are transmitted asynchronously between messaging engines,
so if the messages are being routed through a remote message point there may
be a slight delay before they are delivered. The length of the delay is dependent
upon factors such as system capacity and loading.
- Check the producing application to see if it is giving the messages a
short expiry time. If this is the case, the messages may be expiring before
they arrive, or before they can be processed by the receiving messaging engine.
- Examine the relevant exception destination to see if the messages appear
there. If they do, use the information contained within the messages to understand
why they have arrived at the exception destination, and write an application
(or mediation) to process the messages.
- Check the reliability of the messages. If the reliability is set to best
effort, the messages can be discarded by the system during normal operation.
See Understanding why best effort messages are being discarded for
a list of possible causes.
- Check the priority of the messages. If the priority is low, higher priority
work may be delaying the messages.
- Check the system environment, for example, a busy CPU might cause delayed
messages.
- Examine the error logs for exceptions.