diff options
Diffstat (limited to 'src/rabbit.erl')
-rw-r--r-- | src/rabbit.erl | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/rabbit.erl b/src/rabbit.erl index 588cc390..6425730c 100644 --- a/src/rabbit.erl +++ b/src/rabbit.erl @@ -298,7 +298,7 @@ prepare() -> start() -> start_it(fun() -> ok = prepare(), - ok = rabbit_misc:start_applications(application_load_order()), + ok = rabbit_misc:start_applications(app_startup_order()), ok = print_plugin_info(rabbit_plugins:active_plugins()) end). @@ -327,7 +327,7 @@ start_it(StartFun) -> stop() -> rabbit_log:info("Stopping Rabbit~n"), - ok = rabbit_misc:stop_applications(application_load_order()). + ok = rabbit_misc:stop_applications(app_shutdown_order()). stop_and_halt() -> try @@ -414,10 +414,14 @@ stop(_State) -> %%--------------------------------------------------------------------------- %% application life cycle -application_load_order() -> +app_startup_order() -> ok = rabbit_misc:load_applications(?APPS), rabbit_misc:calculate_app_dependency_ordering(?APPS). +app_shutdown_order() -> + Apps = ?APPS ++ rabbit_plugins:active_plugins(), + rabbit_misc:calculate_app_dependency_ordering(Apps, true). + %%--------------------------------------------------------------------------- %% boot step logic |