This topic describes how to investigate why a queue on a service
integration bus is full.
Why and when to perform this task
When a queue becomes full, exceptions will be returned when you attempt
to produce a message to that queue. The most probable reason for a queue filling
up is that the producing application is producing messages faster than they
can be consumed by the consuming application, although causes can also include
broken communication links or errors in the consuming application.
Steps for this task
- Click Service integration -> Buses -> bus_name -> Destinations to
display a list which includes all the queues on that bus. Click the name of
the queue that is full.
- Click Queue points -> queue_point_name, then on the Runtime tab
review the value of the Current message depth. If this
value increases steadily, the producing application is outpacing the consumer.
Note: If the destination has multiple queue points, or is mediated,
perform the following checks for each message point the message could have
been sent to or consumed from.
- Determine which messaging engines the producing and consuming applications
are connected to, see Determining which messaging engine an application is connected to.
If the producing and consuming applications are
connected to different messaging engines, the messages are being routed via
a remote queue point. On the producer's messaging engine, click Remote
queue points and then click the queue point that represents the
consumer's queue point. Review the number of current outbound messages. If
the number of current messages is low, the problem does not lie with the remote
queue point; check that the consuming application is started and is consuming
messages without error. If the number of current messages is approaching the
high message threshold, perform the following checks: