Sun Java System Message Queue 3.7 UR1 管理指南

清除實體目標

您可以清除目前在實體目標上形成佇列的所有訊息。清除實體目標即表示會刪除儲存於該目標的所有訊息。

當累積的訊息佔用太多的系統資源時,您可能需要清除訊息。當佇列沒有註冊的用戶用戶端並要接收許多訊息時,可能需要清除訊息。如果非使用中的主題長期訂閱者未成為使用中訂閱者,也可能需要清除訊息。在這兩種情況下,沒有必要保留訊息。

若要清除實體目標上的訊息,請使用 purge dst 子指令。purge dst 子指令的語法如下:

purge dst -t destType -n 
destName

此子指令會清除實體目標上指定類型與名稱的訊息。

範例:

imqcmd purge dst -n myQueue -t q -u admin
imqcmd purge dst -n myTopic -t t -u admin

如果已關閉代理程式,並且不想在其重新啟動時傳送舊的訊息,請使用 -reset messages 選項清除舊的訊息,例如:

imqbrokerd -reset messages -u admin

這可避免重新啟動代理程式後清除目標的麻煩。

在代理程式叢集中,實體目標實例會常駐在叢集中的每個代理程式。您必須個別清除這些目標。