使用 imqcmd 子指令,您可以透過下列一項或多項作業,來管理代理程式的長期訂閱:
列出長期訂閱
清除長期訂閱的所有訊息
銷毀長期訂閱
長期訂閱是由用戶端註冊為長期的主題訂閱;它具有唯一的身份,並要求代理程式保留此訂閱的訊息 (即使它的用戶成為非使用中的用戶)。通常,代理程式僅在為長期訂閱者保留的訊息過期時,才刪除該訊息。
若要列出指定實體目標的長期訂閱,請使用 list dur 子指令。list dur 子指令的語法如下:
imqcmd list dur -d destName
例如,下列指令使用本地主機預設連接埠上執行的代理程式,列出主題 SPQuotes 的所有長期訂閱:
imqcmd list dur -d SPQuotes
對於主題的每個長期訂閱,list dur 子指令會傳回長期訂閱的名稱、使用者的用戶端 ID、在此主題上形成佇列的訊息數目,以及長期訂閱的狀態 (使用中/非使用中)。例如:
Name Client ID Number of Durable Sub Messages State ---------------------------------------------------------------- myDurable myClientID 1 INACTIVE |
您可以使用從 list dur 子指令傳回的資訊,識別您可能要銷毀或要為其清除訊息的長期訂閱。
purge dur 子指令使用指定的用戶端識別碼,清除指定長期訂閱的所有訊息。purge dur 子指令的語法如下:
imqcmd purge dur -n subscrName -c clientID
destroy dur 子指令使用指定的用戶端識別碼,銷毀指定的長期訂閱。destroy dur 子指令的語法如下:
imqcmd destroy dur -n subscrName -c clientID
例如,下列指令會銷毀長期訂閱 myDurable 和 clientID myClientID。
imqcmd destroy dur -n myDurable -c myClientID