|
19 | 19 |
|
20 | 20 | -export([boot/0]).
|
21 | 21 | %% automatic import on boot
|
22 |
| --export([maybe_load_definitions/0, maybe_load_definitions/2, maybe_load_definitions_from/2]). |
| 22 | +-export([maybe_load_definitions/0, maybe_load_definitions/2, maybe_load_definitions_from/2, |
| 23 | + has_configured_definitions_to_load/0]). |
23 | 24 | %% import
|
24 | 25 | -export([import_raw/1, import_raw/2, import_parsed/1, import_parsed/2,
|
25 | 26 | apply_defs/2, apply_defs/3, apply_defs/4, apply_defs/5]).
|
@@ -66,7 +67,6 @@ boot() ->
|
66 | 67 | rabbit_sup:start_supervisor_child(definition_import_pool_sup, worker_pool_sup, [PoolSize, ?IMPORT_WORK_POOL]).
|
67 | 68 |
|
68 | 69 | maybe_load_definitions() ->
|
69 |
| - rabbit_log:debug("Will import definitions file from load_definitions"), |
70 | 70 | %% Note that management.load_definitions is handled in the plugin for backwards compatibility.
|
71 | 71 | %% This executes the "core" version of load_definitions.
|
72 | 72 | maybe_load_definitions(rabbit, load_definitions).
|
@@ -138,11 +138,24 @@ all_definitions() ->
|
138 | 138 | %% Implementation
|
139 | 139 | %%
|
140 | 140 |
|
| 141 | +-spec has_configured_definitions_to_load() -> boolean(). |
| 142 | +has_configured_definitions_to_load() -> |
| 143 | + case application:get_env(rabbit, load_definitions) of |
| 144 | + undefined -> false; |
| 145 | + {ok, none} -> false; |
| 146 | + {ok, _Path} -> true |
| 147 | + end. |
| 148 | + |
141 | 149 | maybe_load_definitions(App, Key) ->
|
142 | 150 | case application:get_env(App, Key) of
|
143 |
| - undefined -> ok; |
144 |
| - {ok, none} -> ok; |
| 151 | + undefined -> |
| 152 | + rabbit_log:debug("No definition file configured to import via load_definitions"), |
| 153 | + ok; |
| 154 | + {ok, none} -> |
| 155 | + rabbit_log:debug("No definition file configured to import via load_definitions"), |
| 156 | + ok; |
145 | 157 | {ok, FileOrDir} ->
|
| 158 | + rabbit_log:debug("Will import definitions file from load_definitions"), |
146 | 159 | IsDir = filelib:is_dir(FileOrDir),
|
147 | 160 | maybe_load_definitions_from(IsDir, FileOrDir)
|
148 | 161 | end.
|
@@ -172,10 +185,10 @@ load_definitions_from_filenames([File|Rest]) ->
|
172 | 185 | load_definitions_from_file(File) ->
|
173 | 186 | case file:read_file(File) of
|
174 | 187 | {ok, Body} ->
|
175 |
| - rabbit_log:info("Applying definitions from ~s", [File]), |
| 188 | + rabbit_log:info("Applying definitions from file at '~s'", [File]), |
176 | 189 | import_raw(Body);
|
177 | 190 | {error, E} ->
|
178 |
| - rabbit_log:error("Could not read definitions from ~s, Error: ~p", [File, E]), |
| 191 | + rabbit_log:error("Could not read definitions from file at '~s', error: ~p", [File, E]), |
179 | 192 | {error, {could_not_read_defs, {File, E}}}
|
180 | 193 | end.
|
181 | 194 |
|
|
0 commit comments