如何使用clear Req取消DATA协议消息传输且不影响其他协议
如何通过Clear Request仅取消DATA协议的消息传输
直接按以下规则构造请求即可,不会影响其他协议的正常消息传输:
- 构造Clear Req时必须显式指定协议过滤字段,将
ProtocolType参数值设为DATA,该字段是传输层原生支持的匹配维度,只会命中归属于DATA协议的在传、待传消息条目,绝对不要把该字段留空或者填入通配符*。 - 务必将Clear Req中的
ClearAll全局清空标记位设为false,这个字段优先级高于协议过滤规则,一旦误设为true会直接清空所有协议下的传输任务,之前设置的过滤条件不会生效。 - 不要在请求的过滤规则里额外添加全局匹配条件,比如全量MessageID范围、全Session匹配这类规则,避免规则范围溢出扫到其他协议的消息。
标准请求体参考(通用结构,不同语言实现字段名基本一致):
{ "request_type": "CLEAR", "clear_all": false, "filter_condition": { "protocol_type": "DATA" } }
操作完成后可以拉取传输队列的分协议统计指标校验结果:只要SIGNAL、CONTROL等其他协议的待传/在传消息计数没有变化,仅DATA协议的对应消息计数清零,就说明操作没有产生误伤。
注意不要调用早期未升级的Clear Req接口,老版本接口没有内置协议过滤字段,默认执行全量清空,不支持定向清理单协议消息,调用前先确认当前使用的接口版本支持按协议维度筛选。
内容的提问来源于stack exchange,提问作者kumars45
相关产品推荐
相关产品推荐

