diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/message/IotDeviceMessageServiceImpl.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/message/IotDeviceMessageServiceImpl.java index 24a5bb9..44d5a0f 100644 --- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/message/IotDeviceMessageServiceImpl.java +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/message/IotDeviceMessageServiceImpl.java @@ -95,7 +95,15 @@ public class IotDeviceMessageServiceImpl implements IotDeviceMessageService { if (messageDO.getData() != null) { messageDO.setData(JsonUtils.toJsonString(messageDO.getData())); } - deviceMessageMapper.insert(messageDO); + try { + deviceMessageMapper.insert(messageDO); + } catch (Exception ex) { + // 特殊:@Async 方法的异常默认会被 handler 吞掉,这里显式记录便于排查 + log.error("[createDeviceLogAsync][消息日志写入失败 deviceId({}) messageId({}) paramsLen({}) dataLen({})]", + messageDO.getDeviceId(), messageDO.getId(), + StrUtil.length((String) messageDO.getParams()), + StrUtil.length((String) messageDO.getData()), ex); + } } @Override diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/resources/mapper/device/IotDeviceMessageMapper.xml b/yudao-module-iot/yudao-module-iot-biz/src/main/resources/mapper/device/IotDeviceMessageMapper.xml index deef23b..34d7c63 100644 --- a/yudao-module-iot/yudao-module-iot-biz/src/main/resources/mapper/device/IotDeviceMessageMapper.xml +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/resources/mapper/device/IotDeviceMessageMapper.xml @@ -16,8 +16,8 @@ identifier NCHAR(100), request_id NCHAR(50), method NCHAR(100), - params NCHAR(2048), - data NCHAR(2048), + params VARCHAR(8192), + data VARCHAR(8192), code INT, msg NCHAR(256) ) TAGS (