VPN级别消息暂存管理
您可以执行以下消息VPN级别的消息池管理任务:
- 更改有序主题的起始编号
- 删除消息
- 从一个端点复制消息到另一个端点
更改有序主题的起始编号
此功能已被弃用,不应再使用。
要更改有序主题订阅的默认起始序列号从1开始,请输入以下命令:
solace(admin)# message-spool message-vpn <vpn-name>
solace(admin/message-spool)# sequenced-topic <topic> next-sequence-number <seq-num>
其中:
<topic>
是现有有序主题的名称
<seq-num>
是新的序列号,范围在1到263-1之间
每当序列号被管理员更改时,都会生成一个INFO级别的Solace syslog事件。如果管理员将序列号更改为低于当前下一个序列号的值,将导致发出重复的序列号。同样,更改为更高的值将导致序列号出现间隙。有关如何创建有序主题订阅的信息,请参考消息VPN级保证消息传递配置。
删除消息
要从给定的消息VPN中删除一条、部分或所有入队的消息,请输入以下管理命令:
solace(admin)# message-spool message-vpn <vpn-name>
solace(admin/message-spool)# delete-messages {{queue <queue-name>} | {topic-endpoint <te-name>}} [message <msg-id> [to <to-msg-id>]]
其中:
<queue-name>
是指定消息队列的完整名称,或队列名称的一部分,使用通配符?代表名称中的一个字符,或使用通配符代表名称中的零个或多个字符,其中仅输入通配符指定所有队列。
<te-name>
是指定主题端点的完整名称,或队列名称的一部分,使用通配符?代表名称中的一个字符,或使用通配符代表名称中的零个或多个字符,其中仅输入通配符指定所有主题端点。
message <msg-id>
指定删除指定的入队消息。
to <to-msg-id>
指定删除从由<msg-id>
指定的消息标识符开始到由<to-msg-id>
指定的消息标识符为止的一系列入队消息。
示例:
solace(admin)# message-spool message-vpn blue
solace(admin/message-spool)# delete-messages topic-endpoint solace21
从一个端点复制消息到另一个端点
在某些情况下,可能需要从一个端点(无论是队列还是主题端点)复制单个消息到另一个端点,或者从重播日志到端点。例如,如果事件代理因为应用程序无法消费消息而将消息移动到死信队列(DMQ),一旦应用程序问题得到解决,您可以将该消息从DMQ复制回原始队列。
要将消息从一个端点复制到另一个端点,请输入以下管理命 令:
solace(admin)# message-spool message-vpn <vpn-name>
solace(admin/message-spool)# copy-message {source {{queue <queue-name>} | {topic-endpoint <te-name>} | {replay-log <replay-log-name>}}} {destination {{queue <queue-name>} | {topic-endpoint <te-name>}}} {message <replication-group-msg-id>}
其中:
<queue-name>
是指定消息队列的完整名称。
<te-name>
是指定主题端点的完整名称。
<replay-log-name>
是消息重播日志的名称。
<replication-group-msg-id>
是您想要复制的消息的复制组消息ID。复制组消息ID是Solace消息的属性,由传递消息到队列和主题端点的事件代理分配,它在HA组和事件代理复制组中的特定队列或主题端点上唯一标识一条消息。
示例:
solace(admin)# message-spool message-vpn orange
solace(admin/message-spool)# copy-message source queue dmq1 destination queue q1 message rmid1:12eb1-a19b418311c-00000000-00000005