From 45abd22b72f422dafd707baba1a419ea22b0be2f Mon Sep 17 00:00:00 2001 From: imbeacon Date: Wed, 16 Aug 2023 17:21:48 +0300 Subject: [PATCH] Reverted constant metadata, refactored update for device session context and metadata creation --- .../server/transport/mqtt/MqttTransportHandler.java | 8 +++++--- .../server/transport/mqtt/session/DeviceSessionCtx.java | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/MqttTransportHandler.java b/common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/MqttTransportHandler.java index dfcee39dc3..3bafbb518e 100644 --- a/common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/MqttTransportHandler.java +++ b/common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/MqttTransportHandler.java @@ -137,7 +137,6 @@ public class MqttTransportHandler extends ChannelInboundHandlerAdapter implement private static final MqttQoS MAX_SUPPORTED_QOS_LVL = AT_LEAST_ONCE; private final UUID sessionId; - private final TbMsgMetaData msgMetaData = new TbMsgMetaData(); protected final MqttTransportContext context; private final TransportService transportService; @@ -538,9 +537,12 @@ public class MqttTransportHandler extends ChannelInboundHandlerAdapter implement private TbMsgMetaData getMetadata(DeviceSessionCtx ctx, String topicName) { if (ctx.isDeviceProfileMqttTransportType()) { - msgMetaData.putValue(DataConstants.MQTT_TOPIC, topicName); + TbMsgMetaData md = new TbMsgMetaData(); + md.putValue(DataConstants.MQTT_TOPIC, topicName); + return md; + } else { + return null; } - return msgMetaData; } private void sendAckOrCloseSession(ChannelHandlerContext ctx, String topicName, int msgId) { diff --git a/common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/session/DeviceSessionCtx.java b/common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/session/DeviceSessionCtx.java index 9f60b0a9ba..44eceb8179 100644 --- a/common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/session/DeviceSessionCtx.java +++ b/common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/session/DeviceSessionCtx.java @@ -184,6 +184,7 @@ public class DeviceSessionCtx extends MqttDeviceAwareSessionContext { telemetryTopicFilter = MqttTopicFilterFactory.getDefaultTelemetryFilter(); attributesPublishTopicFilter = MqttTopicFilterFactory.getDefaultAttributesFilter(); payloadType = TransportPayloadType.JSON; + deviceProfileMqttTransportType = false; sendAckOnValidationException = false; } updateAdaptor();