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.