一、该问题的重现步骤是什么?
1. (针对给第三方转发数据) 转发规则里配置MQTT转发和 服务转发的MQTT,具体什么区别
2.
RelayMqttApplication的日志 ,我先测试的服务端订阅,然后关闭后 测试的规则引擎里的转发规则,使用设备模拟发送的消息,为什么clientId还是111,而不是上图的
二、你期待的结果是什么?实际看到的又是什么?
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
BladeX-Links-Pro ,只启动了三个服务
四、请提供详细的错误堆栈信息,这很重要。
2026-06-24 17:12:43.031 INFO 37512 --- [ main] o.s.relay.mqtt.RelayMqttApplication : Started RelayMqttApplication in 9.751 seconds (process running for 17.99)
2026-06-24 17:13:31.949 INFO 37512 --- [ tio-group-3] n.d.i.m.c.s.s.DefaultMqttServerProcessor : Connect successful, clientId: 111 uniqueId:111 result:true
2026-06-24 17:13:31.950 INFO 37512 --- [ biz-worker-2] s.e.SpringEventMqttConnectStatusListener : Mqtt clientId:111 username:iot online.
2026-06-24 17:13:31.951 INFO 37512 --- [ biz-worker-2] o.s.r.m.l.MqttConnectStatusListener : MqttClientOnlineEvent:MqttClientOnlineEvent(super=ClientInfo{clientId='111', username='iot', keepAlive=60, connected=true, protoName='MQTT', protoVer=4, ipAddress='127.0.0.1', port=54805, connectedAt=1782292411938, createdAt=1782292411936, decodeQueueSize=-1, handlerQueueSize=-1, sendQueueSize=0})
2026-06-24 17:14:40.079 INFO 37512 --- [ biz-worker-3] o.s.r.m.l.MqttServerMessageListener : received clientId:111 topic:/relay/k48jhTwi6jurM0xo6e2nBb3hOD/blade/sys/fq34p4ys6k8y/fq34rj51ks1t/thing/event/property/post message:MqttMessage[fixedHeader=MqttFixedHeader[messageType=PUBLISH, isDup=false, qosLevel=QoS0, isRetain=false, remainingLength=185], variableHeader=MqttPublishVariableHeader[topicName=/relay/k48jhTwi6jurM0xo6e2nBb3hOD/blade/sys/fq34p4ys6k8y/fq34rj51ks1t/thing/event/property/post, packetId=-1], payload=[B@35f4c402] payload:{"id":"44eaa448-9d3b-48c9-befb-0e75a8c6ef48","version":"1.0","params":{"dx":77,"dy":77}}
2026-06-24 17:14:40.080 INFO 37512 --- [ biz-worker-5] o.s.r.m.l.MqttServerMessageListener : received clientId:111 topic:/relay/k48jhTwi6jurM0xo6e2nBb3hOD/blade/sys/fq34p4ys6k8y/fq34rj51ks1t/thing/event/property/post message:MqttMessage[fixedHeader=MqttFixedHeader[messageType=PUBLISH, isDup=false, qosLevel=QoS0, isRetain=false, remainingLength=185], variableHeader=MqttPublishVariableHeader[topicName=/relay/k48jhTwi6jurM0xo6e2nBb3hOD/blade/sys/fq34p4ys6k8y/fq34rj51ks1t/thing/event/property/post, packetId=-1], payload=[B@19b9f96a] payload:{"id":"44eaa448-9d3b-48c9-befb-0e75a8c6ef48","version":"1.0","params":{"dx":77,"dy":77}}
2026-06-24 17:14:42.740 WARN 37512 --- [imerTaskService] o.tio.server.task.ServerHeartbeatTask :
Relay-Server
├ 当前时间 :2026-06-24T17:14:42.738777800
├ 连接统计
│ ├ 共接受过连接数 :1
│ ├ 当前连接数 :1
│ └ 关闭过的连接数 :0
├ 消息统计
│ ├ 已处理消息 :4
│ ├ 已接收消息(packet/byte) :4/411
│ ├ 已发送消息(packet/byte) :2/6b
│ ├ 平均每次TCP包接收的字节数 :102.75
│ └ 平均每次TCP包接收的业务包 :1.0
├ 节点统计
│ ├ clientNodes :1
│ ├ 所有连接 :1
│ ├ 绑定user数 :1
│ ├ 绑定token数 :0
│ └ 等待同步消息响应 :0
├ 队列统计
│ ├ 解码队列总数 :0
│ ├ 处理队列总数 :0
│ └ 发送队列总数 :0
└ 群组
└ groupmap: 0
2026-06-24 17:14:42.740 WARN 37512 --- [imerTaskService] o.tio.server.task.ServerHeartbeatTask : Relay-Server, 检查心跳, 共1个连接, 取锁耗时0ms, 循环耗时2ms, 心跳检测周期:120000ms, 心跳超时时间:90000ms
2026-06-24 17:16:42.745 WARN 37512 --- [imerTaskService] o.tio.server.task.ServerHeartbeatTask :
Relay-Server
├ 当前时间 :2026-06-24T17:16:42.745664500
├ 连接统计
│ ├ 共接受过连接数 :1
│ ├ 当前连接数 :1
│ └ 关闭过的连接数 :0
├ 消息统计
│ ├ 已处理消息 :7
│ ├ 已接收消息(packet/byte) :7/417
│ ├ 已发送消息(packet/byte) :5/12b
│ ├ 平均每次TCP包接收的字节数 :59.57142857142857
│ └ 平均每次TCP包接收的业务包 :1.0
├ 节点统计
│ ├ clientNodes :1
│ ├ 所有连接 :1
│ ├ 绑定user数 :1
│ ├ 绑定token数 :0
│ └ 等待同步消息响应 :0
├ 队列统计
│ ├ 解码队列总数 :0
│ ├ 处理队列总数 :0
│ └ 发送队列总数 :0
└ 群组
└ groupmap: 0
2026-06-24 17:16:42.746 WARN 37512 --- [imerTaskService] o.tio.server.task.ServerHeartbeatTask : Relay-Server, 检查心跳, 共1个连接, 取锁耗时0ms, 循环耗时1ms, 心跳检测周期:120000ms, 心跳超时时间:90000ms
2026-06-24 17:16:44.768 INFO 37512 --- [ biz-worker-7] o.s.r.m.l.MqttServerMessageListener : received clientId:111 topic:/relay/k48jhTwi6jurM0xo6e2nBb3hOD/blade/sys/fq34p4ys6k8y/fq34rj51ks1t/thing/event/property/post message:MqttMessage[fixedHeader=MqttFixedHeader[messageType=PUBLISH, isDup=false, qosLevel=QoS0, isRetain=false, remainingLength=183], variableHeader=MqttPublishVariableHeader[topicName=/relay/k48jhTwi6jurM0xo6e2nBb3hOD/blade/sys/fq34p4ys6k8y/fq34rj51ks1t/thing/event/property/post, packetId=-1], payload=[B@a8f9ef4] payload:{"id":"d2cfae93-d829-4294-9436-7807f7fa6e21","version":"1.0","params":{"dx":5,"dy":5}}
2026-06-24 17:16:44.768 INFO 37512 --- [ biz-worker-9] o.s.r.m.l.MqttServerMessageListener : received clientId:111 topic:/relay/k48jhTwi6jurM0xo6e2nBb3hOD/blade/sys/fq34p4ys6k8y/fq34rj51ks1t/thing/event/property/post message:MqttMessage[fixedHeader=MqttFixedHeader[messageType=PUBLISH, isDup=false, qosLevel=QoS0, isRetain=false, remainingLength=183], variableHeader=MqttPublishVariableHeader[topicName=/relay/k48jhTwi6jurM0xo6e2nBb3hOD/blade/sys/fq34p4ys6k8y/fq34rj51ks1t/thing/event/property/post, packetId=-1], payload=[B@4746aaa6] payload:{"id":"d2cfae93-d829-4294-9436-7807f7fa6e21","version":"1.0","params":{"dx":5,"dy":5}}
2026-06-24 17:18:39.723 INFO 37512 --- [enerContainer-4] o.s.i.c.s.impl.ServerRelayServiceImpl : 监听到服务端订阅刷新事件
2026-06-24 17:18:39.730 INFO 37512 --- [enerContainer-4] o.s.i.c.s.impl.ServerRelayServiceImpl : 服务端订阅刷新事件成功
2026-06-24 17:18:42.735 WARN 37512 --- [imerTaskService] o.tio.server.task.ServerHeartbeatTask :
Relay-Server
├ 当前时间 :2026-06-24T17:18:42.735048400
├ 连接统计
│ ├ 共接受过连接数 :1
│ ├ 当前连接数 :1
│ └ 关闭过的连接数 :0
├ 消息统计
│ ├ 已处理消息 :11
│ ├ 已接收消息(packet/byte) :11/793
│ ├ 已发送消息(packet/byte) :7/16b
│ ├ 平均每次TCP包接收的字节数 :72.0909090909091
│ └ 平均每次TCP包接收的业务包 :1.0
├ 节点统计
│ ├ clientNodes :1
│ ├ 所有连接 :1
│ ├ 绑定user数 :1
│ ├ 绑定token数 :0
│ └ 等待同步消息响应 :0
├ 队列统计
│ ├ 解码队列总数 :0
│ ├ 处理队列总数 :0
│ └ 发送队列总数 :0
└ 群组
└ groupmap: 0
2026-06-24 17:18:42.735 WARN 37512 --- [imerTaskService] o.tio.server.task.ServerHeartbeatTask : Relay-Server, 检查心跳, 共1个连接, 取锁耗时0ms, 循环耗时0ms, 心跳检测周期:120000ms, 心跳超时时间:90000ms
2026-06-24 17:20:42.744 WARN 37512 --- [imerTaskService] o.tio.server.task.ServerHeartbeatTask :
Relay-Server
├ 当前时间 :2026-06-24T17:20:42.744081
├ 连接统计
│ ├ 共接受过连接数 :1
│ ├ 当前连接数 :1
│ └ 关闭过的连接数 :0
├ 消息统计
│ ├ 已处理消息 :14
│ ├ 已接收消息(packet/byte) :14/799
│ ├ 已发送消息(packet/byte) :10/22b
│ ├ 平均每次TCP包接收的字节数 :57.07142857142857
│ └ 平均每次TCP包接收的业务包 :1.0
├ 节点统计
│ ├ clientNodes :1
│ ├ 所有连接 :1
│ ├ 绑定user数 :1
│ ├ 绑定token数 :0
│ └ 等待同步消息响应 :0
├ 队列统计
│ ├ 解码队列总数 :0
│ ├ 处理队列总数 :0
│ └ 发送队列总数 :0
└ 群组
└ groupmap: 0
2026-06-24 17:20:42.744 WARN 37512 --- [imerTaskService] o.tio.server.task.ServerHeartbeatTask : Relay-Server, 检查心跳, 共1个连接, 取锁耗时0ms, 循环耗时0ms, 心跳检测周期:120000ms, 心跳超时时间:90000ms
2026-06-24 17:21:08.133 INFO 37512 --- [ biz-worker-11] o.s.r.m.l.MqttServerMessageListener : received clientId:111 topic:/relay/k48jhTwi6jurM0xo6e2nBb3hOD/blade/sys/fq34p4ys6k8y/fq34rj51ks1t/thing/event/property/post message:MqttMessage[fixedHeader=MqttFixedHeader[messageType=PUBLISH, isDup=false, qosLevel=QoS0, isRetain=false, remainingLength=183], variableHeader=MqttPublishVariableHeader[topicName=/relay/k48jhTwi6jurM0xo6e2nBb3hOD/blade/sys/fq34p4ys6k8y/fq34rj51ks1t/thing/event/property/post, packetId=-1], payload=[B@10d074bb] payload:{"id":"c5fa11e1-708c-4a78-b153-772064e628fa","version":"1.0","params":{"dx":8,"dy":8}}
2026-06-24 17:22:42.735 WARN 37512 --- [imerTaskService] o.tio.server.task.ServerHeartbeatTask :
3.五、若有更多详细信息,请在下面提供。
服务转发:
每上报一条数据,都会自动转发一份到指定的mqtt,相当于原路转发没有任何逻辑,客户端自由订阅然后获取数据
转发规则:
上报一条数据,需要通过规则引擎判断,并且执行完各个规则后,把符合条件的数据,调用转发规则的配置进行mqtt转发,同时除了mqtt外,还有多种不同的途径可以配置
必须创建场景联动才能用转发规则么
要用到规则,必须要场景联动的,具体的完整文档以及操作可以看这边的手册:https://iot.bladex.cn/feature/engine/scene/intro.html
扫一扫访问 Blade技术社区 移动端