WebLogic 9.2+ 控制台可查看 Destination 具體訊息及其 state 字串。理解各狀態含義可快速定位 JMS 問題。
| 狀態 | 含義 | 典型成因/排查方向 |
|---|---|---|
| VISIBLE | 訊息已入隊,等待消費 | 正常狀態,若堆積檢查消費者是否掛掉或處理緩慢 |
| ORDERED | 屬於 Unit-of-Order 群組 | 嚴格順序處理,檢查 UOO 配置 |
| DELAYED | 訊息入隊但延遲投遞(TimeToDeliver 未到)或異常重發等待 Redelivery Delay | 檢查排程投遞時間、消費者 onMessage 拋 RuntimeException 導致 recover 重發 |
| RECEIVE | 已投遞給消費者但未 ACK(CLIENT_ACK 模式或網絡中斷) | 檢查 ACK 模式、網絡穩定性、消費者處理邏輯是否阻塞 |
| SEND | 發送操作進行中(事務未提交) | 檢查事務邊界、資料庫鎖等導致提交延遲 |
| TRANSACTION | 參與全局事務的發送/接收操作 | 分佈式事務協調器狀態、XA 資源鎖定 |
| PAUSED | Destination 被暫停(Pause 操作) | 管理員手動暫停或 WLST 腳本控制 |
| REDELIVERY_COUNT_EXCEEDED | 超過重發上限,不再投遞 | 檢查錯誤隊列、死信隊列配置,分析為何持續失敗 |