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

To investigate why a queue on a service integration bus is full, complete the following steps:

Procedure

  1. Click 服務整合 -> 匯流排 -> bus_name -> [目的地資源] 目的地, then click the name of the queue that is full.
  2. 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.

    這個畫面可供您從高階檢視許多相關資源,協助您尋找問題原因。

  3. 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.
  4. Determine which messaging engines the producing and consuming applications are connected to.
  5. 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.

指出主題類型的圖示 作業主題



時間戳記圖示 前次更新: July 9, 2016 11:16
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tju_queue_full
檔名:tju_queue_full.html