From aca8842a1830d10c51f4ed98b23e77f9f0addbc5 Mon Sep 17 00:00:00 2001
From: zhaowenyu <35589726@qq.com>
Date: Sat, 29 Nov 2025 11:30:02 +0800
Subject: [PATCH] 2025-11-29 zwy 处理OSD消息空指针异常
---
ard-sample/src/main/java/com/ard/sample/manage/service/impl/DeviceServiceImpl.java | 13 +++++++++----
1 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/ard-sample/src/main/java/com/ard/sample/manage/service/impl/DeviceServiceImpl.java b/ard-sample/src/main/java/com/ard/sample/manage/service/impl/DeviceServiceImpl.java
index 417c3ca..45bca6f 100644
--- a/ard-sample/src/main/java/com/ard/sample/manage/service/impl/DeviceServiceImpl.java
+++ b/ard-sample/src/main/java/com/ard/sample/manage/service/impl/DeviceServiceImpl.java
@@ -499,10 +499,10 @@
@Override
@ServiceActivator(inputChannel = ChannelName.INBOUND_OSD)
public void handleOSD(Message<?> message) {
- String topic = message.getHeaders().get(MqttHeaders.RECEIVED_TOPIC).toString();
- byte[] payload = (byte[]) message.getPayload();
- CommonTopicReceiver receiver;
try {
+ String topic = message.getHeaders().get(MqttHeaders.RECEIVED_TOPIC).toString();
+ byte[] payload = (byte[]) message.getPayload();
+ CommonTopicReceiver receiver;
String from = topic.substring((THING_MODEL_PRE + PRODUCT).length(),
topic.indexOf(OSD_SUF));
@@ -540,7 +540,12 @@
tsaService.handleOSD(receiver, device, webSessions, wsMessage);
- } catch (IOException e) {
+ } catch (NullPointerException e) {
+ log.error("处理OSD消息NPE,headers={}, payload={}",
+ message.getHeaders(), message.getPayload(), e); // 打印完整栈
+ }
+ catch (IOException e) {
+ log.error("处理OSD消息的IO异常:{}",e.getMessage(), e);
e.printStackTrace();
}
}
--
Gitblit v1.9.3