From 58b1e258c192298a8cc4ca7ffdfff34344978355 Mon Sep 17 00:00:00 2001 From: erylee Date: Thu, 27 Dec 2012 16:42:59 +0800 Subject: [PATCH] add folder --- .../src/emqtt_plugin_admin.app.src | 12 ++++++++ .../src/emqtt_plugin_admin_app.erl | 16 +++++++++++ .../src/emqtt_plugin_admin_sup.erl | 28 +++++++++++++++++++ src/emqtt_ctl.erl | 7 ++++- 4 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 plugins/emqtt_plugin_admin/src/emqtt_plugin_admin.app.src create mode 100644 plugins/emqtt_plugin_admin/src/emqtt_plugin_admin_app.erl create mode 100644 plugins/emqtt_plugin_admin/src/emqtt_plugin_admin_sup.erl diff --git a/plugins/emqtt_plugin_admin/src/emqtt_plugin_admin.app.src b/plugins/emqtt_plugin_admin/src/emqtt_plugin_admin.app.src new file mode 100644 index 000000000..501633331 --- /dev/null +++ b/plugins/emqtt_plugin_admin/src/emqtt_plugin_admin.app.src @@ -0,0 +1,12 @@ +{application, emqtt_plugin_admin, + [ + {description, ""}, + {vsn, "1"}, + {registered, []}, + {applications, [ + kernel, + stdlib + ]}, + {mod, { emqtt_plugin_admin_app, []}}, + {env, []} + ]}. diff --git a/plugins/emqtt_plugin_admin/src/emqtt_plugin_admin_app.erl b/plugins/emqtt_plugin_admin/src/emqtt_plugin_admin_app.erl new file mode 100644 index 000000000..e89e2c8b4 --- /dev/null +++ b/plugins/emqtt_plugin_admin/src/emqtt_plugin_admin_app.erl @@ -0,0 +1,16 @@ +-module(emqtt_plugin_admin_app). + +-behaviour(application). + +%% Application callbacks +-export([start/2, stop/1]). + +%% =================================================================== +%% Application callbacks +%% =================================================================== + +start(_StartType, _StartArgs) -> + emqtt_plugin_admin_sup:start_link(). + +stop(_State) -> + ok. diff --git a/plugins/emqtt_plugin_admin/src/emqtt_plugin_admin_sup.erl b/plugins/emqtt_plugin_admin/src/emqtt_plugin_admin_sup.erl new file mode 100644 index 000000000..c26ce8c12 --- /dev/null +++ b/plugins/emqtt_plugin_admin/src/emqtt_plugin_admin_sup.erl @@ -0,0 +1,28 @@ + +-module(emqtt_plugin_admin_sup). + +-behaviour(supervisor). + +%% API +-export([start_link/0]). + +%% Supervisor callbacks +-export([init/1]). + +%% Helper macro for declaring children of supervisor +-define(CHILD(I, Type), {I, {I, start_link, []}, permanent, 5000, Type, [I]}). + +%% =================================================================== +%% API functions +%% =================================================================== + +start_link() -> + supervisor:start_link({local, ?MODULE}, ?MODULE, []). + +%% =================================================================== +%% Supervisor callbacks +%% =================================================================== + +init([]) -> + {ok, { {one_for_one, 5, 10}, []} }. + diff --git a/src/emqtt_ctl.erl b/src/emqtt_ctl.erl index 2a602f8fb..94404393b 100644 --- a/src/emqtt_ctl.erl +++ b/src/emqtt_ctl.erl @@ -25,9 +25,14 @@ cluster_info([]) -> cluster([Node]) -> case net_adm:ping(list_to_atom(Node)) of pong -> + application:stop(emqtt), + mnesia:stop(), + mnesia:start(), + mnesia:change_config(extra_db_nodes, [Node]), + application:start(emqtt), ?PRINT("cluster with ~p successfully.~n", [Node]); pang -> - ?PRINT("failed to cluster with ~p~n", [Node]) + ?PRINT("failed to connect to ~p~n", [Node]) end. add_user([Username, Password]) ->