|
33 | 33 | -record(vhost_sup, {vhost, vhost_sup_pid, wrapper_pid}).
|
34 | 34 |
|
35 | 35 | start() ->
|
36 |
| - rabbit_sup:start_supervisor_child(?MODULE). |
| 36 | + supervisor:start_child(rabbit_sup, |
| 37 | + {?MODULE, {?MODULE, start_link, []}, |
| 38 | + permanent, infinity, supervisor, [?MODULE]}). |
37 | 39 |
|
38 | 40 | start_link() ->
|
39 | 41 | supervisor2:start_link({local, ?MODULE}, ?MODULE, []).
|
40 | 42 |
|
41 | 43 | init([]) ->
|
| 44 | + VhostRestart = case application:get_env(rabbit, vhost_restart_strategy, stop_rabbit) of |
| 45 | + give_up -> transient; |
| 46 | + stop_rabbit -> permanent |
| 47 | + end, |
| 48 | + |
42 | 49 | ets:new(?MODULE, [named_table, public, {keypos, #vhost_sup.vhost}]),
|
43 | 50 | {ok, {{simple_one_for_one, 0, 5},
|
44 | 51 | [{rabbit_vhost, {rabbit_vhost_sup_wrapper, start_link, []},
|
45 |
| - permanent, infinity, supervisor, |
| 52 | + VhostRestart, infinity, supervisor, |
46 | 53 | [rabbit_vhost_sup_wrapper, rabbit_vhost_sup]}]}}.
|
47 | 54 |
|
48 | 55 | start_on_all_nodes(VHost) ->
|
|
0 commit comments