Investigating why a queue is full
When a queue becomes full, exceptions are 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.
About this task
Procedure
- Click 服務整合 -> 匯流排 -> bus_name -> [目的地資源] 目的地, then click the name of the queue that is full.
- Click [Related Items] Application resources topology,
then use the 這個目的地的應用程式資源 panel
to inspect the configuration of the applications and JMS resources
that are using the destination.
這個畫面可供您從高階檢視許多相關資源,協助您尋找問題原因。
- Click 服務整合 -> 匯流排 -> bus_name -> [目的地資源] 目的地 -> queue_name -> [訊息點] 佇列點 -> 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, complete the following checks for each message point the message might have been sent to or consumed from.
- Determine which messaging engines the producing and consuming applications are connected to.
- If the producing and consuming applications are connected
to different messaging engines, the messages are being routed through
a remote queue point. On the producer messaging engine, click Remote
queue points and then click the queue point that represents
the consumer 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, complete
the following checks:
- Check that the two messaging engines
can communicate with each other, see Service integration troubleshooting: Checking the communication between two messaging engines in a bus. If
the messaging engines can communicate, reduce the rate at which messages
are produced. If the messaging engines cannot communicate, resolve
the failure. If you encounter problems processing the backlog of messages
once communication is restored, and the backlog does not contain any
messages that are vital, consider deleting all the messages on the
remote message point. To delete the messages, select the relevant
remote message point and click Delete all messages. Note: You will not be able to recover the messages once they have been deleted.
- Check that messages are not being trapped in the Committing state. If they are, a resource manager, such as a database, has hung. Resolve the issue with the resource manager. If this fails, note the Transaction ID of the message and click 伺服器 -> 伺服器類型 -> WebSphere Application Server -> server_name -> 執行時期 > [其他內容] 交易服務 to display the general properties for the transaction service, including numbers of transactions. Use the Review links to resolve the transaction whose Global ID matches the transaction ID of the message.
- Check that the two messaging engines
can communicate with each other, see Service integration troubleshooting: Checking the communication between two messaging engines in a bus. If
the messaging engines can communicate, reduce the rate at which messages
are produced. If the messaging engines cannot communicate, resolve
the failure. If you encounter problems processing the backlog of messages
once communication is restored, and the backlog does not contain any
messages that are vital, consider deleting all the messages on the
remote message point. To delete the messages, select the relevant
remote message point and click Delete all messages.
次主題
Determining which messaging engine an application is connected to
If your application fails to receive or produce a message, you might want to find out which messaging engine it is connected to, as part of troubleshooting the problem.Service integration troubleshooting: Checking the communication between two messaging engines in a bus
If you are troubleshooting a problem with your service integration system, you might want to check that two messaging engines can communicate with each other.
Related information:


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tju_queue_full
檔名:tju_queue_full.html