Преглед изворни кода

fix: check channel id exist when get_channel_status

zhongwencool пре 2 година
родитељ
комит
2561ff94ec
1 измењених фајлова са 7 додато и 4 уклоњено
  1. 7 4
      apps/emqx_bridge_rocketmq/src/emqx_bridge_rocketmq_connector.erl

+ 7 - 4
apps/emqx_bridge_rocketmq/src/emqx_bridge_rocketmq_connector.erl

@@ -179,11 +179,14 @@ on_remove_channel(
     {ok, NewState}.
 
 on_get_channel_status(
-    _ResId,
-    _ChannelId,
-    _State
+    InstanceId,
+    ChannelId,
+    #{installed_channels := Channels} = State
 ) ->
-    ?status_connected.
+    case maps:find(ChannelId, Channels) of
+        {ok, _} -> on_get_status(InstanceId, State);
+        error -> ?status_disconnected
+    end.
 
 on_get_channels(ResId) ->
     emqx_bridge_v2:get_channels_for_connector(ResId).