zhaowenyu
2025-11-29 aca8842a1830d10c51f4ed98b23e77f9f0addbc5
2025-11-29 zwy 处理OSD消息空指针异常
1 files modified
13 ■■■■■ changed files
ard-sample/src/main/java/com/ard/sample/manage/service/impl/DeviceServiceImpl.java 13 ●●●●● patch | view | raw | blame | history
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();
        }
    }