协议转换处理逻辑中的这段代码是做什么的

IOT 未结 2 193
Jerrfy1231
Jerrfy1231 剑圣 2025-01-16 19:46

一、该问题的重现步骤是什么?

1. image.png

2. 如果转换前的内容(topic、payload)和转换后的内容一致,会导致递归

3.


二、你期待的结果是什么?实际看到的又是什么?


三、你正在使用的是什么产品,什么版本?在什么操作系统上?


四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

2条回答
  • 2025-01-17 08:35

    转换后的消息还要再触发一下监听,执行转换后的 topic 函数逻辑。

    0 讨论(0)
  • 2025-01-17 10:52

    协议转换的结果集必须是带 /blade 前缀的topic,首次转换后,下次就会进入你说的这个监听,然后进入函数执行。

    如果自定义转换的结果集没有/blade,下次进入监听时他还会有一个判断,只有这个topic在协议转换的配置里才会进逻辑( protocolMapperService.ifMatch(FlowTypes.IN, topic, payload, bean -> {}) )。所以理论上是不会循环调用的。

    如果你循环调用了,可以给我们一个可复现的步骤,我们跟着来测试下。

    0 讨论(0)
代码语言
提交回复