From 7e21ef64359a780ca8b21095ca141e8a4d886ca6 Mon Sep 17 00:00:00 2001 From: Shawn <506895667@qq.com> Date: Wed, 18 May 2022 18:28:43 +0800 Subject: [PATCH 1/2] fix: add bridge_mode field to the mqtt connector --- .../i18n/emqx_connector_mqtt_schema.conf | 20 ++++++++++++++++++- .../src/emqx_connector_mqtt.erl | 3 ++- .../src/mqtt/emqx_connector_mqtt_schema.erl | 8 ++++++++ 3 files changed, 29 insertions(+), 2 deletions(-) diff --git a/apps/emqx_connector/i18n/emqx_connector_mqtt_schema.conf b/apps/emqx_connector/i18n/emqx_connector_mqtt_schema.conf index 395967dec..35ac1535f 100644 --- a/apps/emqx_connector/i18n/emqx_connector_mqtt_schema.conf +++ b/apps/emqx_connector/i18n/emqx_connector_mqtt_schema.conf @@ -40,7 +40,25 @@ MQTT 桥的模式。 可用的类型有“cluster_singleton”,“cluster_shar label: { en: "Broker IP And Port" zh: "Broker主机和端口" - } + } + } + + bridge_mode { + desc { + en: """ +If enable bridge mode. +NOTE: This setting is only for MQTT protocol version < 5.0, and the remote MQTT +broker MUST support this feature. + """ + zh: """ +是否启用 Bridge Mode。 +注意:此设置只针对 MQTT 协议版本 < 5.0 有效,并且需要远程 MQTT Broker 支持 Bridge Mode。 + """ + } + label { + en: "Bridge Mode" + zh: "Bridge 模式" + } } proto_ver { diff --git a/apps/emqx_connector/src/emqx_connector_mqtt.erl b/apps/emqx_connector/src/emqx_connector_mqtt.erl index 456137d90..e0e750c3d 100644 --- a/apps/emqx_connector/src/emqx_connector_mqtt.erl +++ b/apps/emqx_connector/src/emqx_connector_mqtt.erl @@ -224,6 +224,7 @@ basic_config(#{ server := Server, reconnect_interval := ReconnIntv, proto_ver := ProtoVer, + bridge_mode := BridgeMode, username := User, password := Password, clean_start := CleanStart, @@ -246,7 +247,7 @@ basic_config(#{ %% When the load balancing server enables mqtt connection packet inspection, %% non-standard mqtt connection packets will be filtered out by LB. %% So let's disable bridge_mode. - bridge_mode => false, + bridge_mode => BridgeMode, username => User, password => Password, clean_start => CleanStart, diff --git a/apps/emqx_connector/src/mqtt/emqx_connector_mqtt_schema.erl b/apps/emqx_connector/src/mqtt/emqx_connector_mqtt_schema.erl index 25dc4a50f..e4eea39db 100644 --- a/apps/emqx_connector/src/mqtt/emqx_connector_mqtt_schema.erl +++ b/apps/emqx_connector/src/mqtt/emqx_connector_mqtt_schema.erl @@ -75,6 +75,14 @@ fields("connector") -> desc => ?DESC("proto_ver") } )}, + {bridge_mode, + sc( + boolean(), + #{ + default => false, + desc => ?DESC("bridge_mode") + } + )}, {username, sc( binary(), From a9da88d73b7705eba58737eead90434dc4640665 Mon Sep 17 00:00:00 2001 From: Shawn <506895667@qq.com> Date: Thu, 19 May 2022 08:55:47 +0800 Subject: [PATCH 2/2] fix(spell): please the spell checker --- apps/emqx_connector/i18n/emqx_connector_mqtt_schema.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/emqx_connector/i18n/emqx_connector_mqtt_schema.conf b/apps/emqx_connector/i18n/emqx_connector_mqtt_schema.conf index 35ac1535f..7690596e7 100644 --- a/apps/emqx_connector/i18n/emqx_connector_mqtt_schema.conf +++ b/apps/emqx_connector/i18n/emqx_connector_mqtt_schema.conf @@ -47,7 +47,7 @@ MQTT 桥的模式。 可用的类型有“cluster_singleton”,“cluster_shar desc { en: """ If enable bridge mode. -NOTE: This setting is only for MQTT protocol version < 5.0, and the remote MQTT +NOTE: This setting is only for MQTT protocol version older than 5.0, and the remote MQTT broker MUST support this feature. """ zh: """