This topic describes how to investigate why a queue on
a service integration bus is full.
About 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.
Procedure
- 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: