使用 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 和客户端 ID myClientID。
imqcmd destroy dur -n myDurable -c myClientID