自定义topic上报数据报错

Blade 未结 2 693
hellow111
hellow111 2025-01-02 15:55

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

1.  按照教程构建新的topic

2.  在test 处订阅发布消息

3.  新写的

CustomHoistPostFunction

方法报错

2025-01-02 15:47:04.380  INFO 27784 --- [   biz-worker-9] o.s.m.b.d.f.c.CustomHoistPostFunction    : 自定义topic上报数据:{currentLevel=2, targetLevel=5}

2025-01-02 15:47:04.380 ERROR 27784 --- [   biz-worker-9] o.s.m.b.d.f.c.CustomHoistPostFunction    : req id:1e42776050ee34856173a1f8b51e6dc0 property post error


java.lang.NullPointerException: Cannot invoke "org.springblade.iot.core.pojo.BaseDevice.getProductKey()" because "deviceInfo" is null

at org.springblade.iot.tsdb.tdengine.impl.DeviceDataServiceImpl.saveDeviceProperty(DeviceDataServiceImpl.java:31)

at org.springblade.mqtt.broker.data.function.custom.CustomHoistPostFunction.execute(CustomHoistPostFunction.java:63)

at org.springblade.mqtt.broker.data.function.custom.CustomHoistPostFunction.execute(CustomHoistPostFunction.java:27)

at org.springblade.mqtt.broker.data.listener.BladeMqttFunctionMessageListener.execDeviceFunction(BladeMqttFunctionMessageListener.java:104)

at org.springblade.mqtt.broker.data.listener.BladeMqttFunctionMessageListener.execMqttFunction(BladeMqttFunctionMessageListener.java:79)

at org.springblade.mqtt.broker.data.listener.BladeMqttFunctionMessageListener.lambda$onMessage$0(BladeMqttFunctionMessageListener.java:69)

at org.springblade.core.tenant.TenantUtil.use(TenantUtil.java:93)

at org.springblade.mqtt.broker.data.listener.BladeMqttFunctionMessageListener.onMessage(BladeMqttFunctionMessageListener.java:68)

at net.dreamlu.iot.mqtt.core.server.support.DefaultMqttServerProcessor.lambda$invokeListenerForPublish$4(DefaultMqttServerProcessor.java:503)

at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)

at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:264)

at java.base/java.util.concurrent.FutureTask.run(FutureTask.java)

at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)

at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)

at java.base/java.lang.Thread.run(Thread.java:840)


2条回答
提交回复