diff --git a/src/emqttd_app.erl b/src/emqttd_app.erl index 272ccffc9..7709d134f 100644 --- a/src/emqttd_app.erl +++ b/src/emqttd_app.erl @@ -200,6 +200,8 @@ stop_listener({Proto, ListenOn, _Opts}) when Proto == http; Proto == ws -> mochiweb:stop_http('mqtt:ws', ListenOn); stop_listener({Proto, ListenOn, _Opts}) when Proto == https; Proto == wss -> mochiweb:stop_http('mqtt:wss', ListenOn); +stop_listener({Proto, ListenOn, _Opts}) when Proto == api -> + mochiweb:stop_http('mqtt:api', ListenOn); stop_listener({Proto, ListenOn, _Opts}) -> esockd:close(Proto, ListenOn). diff --git a/src/emqttd_cli.erl b/src/emqttd_cli.erl index 6918c68e8..6ff94893c 100644 --- a/src/emqttd_cli.erl +++ b/src/emqttd_cli.erl @@ -330,7 +330,7 @@ bridges(["options"]) -> ?PRINT_MSG(" suffix = string~n"), ?PRINT_MSG(" queue = integer~n"), ?PRINT_MSG("Example:~n"), - ?PRINT_MSG(" qos=2,prefix=abc/,suffix=/yxz,queue=1000~n"); + ?PRINT_MSG(" prefix=abc/,suffix=/yxz,queue=1000~n"); bridges(["start", SNode, Topic]) -> case emqttd_bridge_sup_sup:start_bridge(list_to_atom(SNode), list_to_binary(Topic)) of diff --git a/src/emqttd_cluster.erl b/src/emqttd_cluster.erl index ab40875aa..28b2d1723 100644 --- a/src/emqttd_cluster.erl +++ b/src/emqttd_cluster.erl @@ -50,7 +50,7 @@ prepare() -> %% @doc Is node in cluster? -spec(is_clustered(node()) -> boolean()). is_clustered(Node) -> - lists:member(Node, emqttd_mnesia:running_nodes()). + lists:member(Node, emqttd_mnesia:cluster_nodes(all)). %% @doc Reboot after join or leave cluster. -spec(reboot() -> ok). diff --git a/src/emqttd_mnesia.erl b/src/emqttd_mnesia.erl index 31fa88d3a..d8e0f88af 100644 --- a/src/emqttd_mnesia.erl +++ b/src/emqttd_mnesia.erl @@ -27,7 +27,7 @@ %% Cluster mnesia -export([join_cluster/1, cluster_status/0, leave_cluster/0, - remove_from_cluster/1, running_nodes/0]). + remove_from_cluster/1, cluster_nodes/1, running_nodes/0]). %% Schema and tables -export([copy_schema/1, delete_schema/0, del_schema_copy/1, @@ -213,10 +213,18 @@ connect(Node) -> Error -> Error end. -%% @doc Running nodes +%% @doc Running nodes. -spec(running_nodes() -> list(node())). -running_nodes() -> - mnesia:system_info(running_db_nodes). +running_nodes() -> cluster_nodes(running). + +%% @doc Cluster nodes. +-spec(cluster_nodes(all | running | stopped) -> [node()]). +cluster_nodes(all) -> + mnesia:system_info(db_nodes); +cluster_nodes(running) -> + mnesia:system_info(running_db_nodes); +cluster_nodes(stopped) -> + cluster_nodes(all) -- cluster_nodes(running). %% @private ensure_ok(ok) -> ok;