[erlang-questions] starting application after a set_env variable
Michal Ptaszek
michal.ptaszek@REDACTED
Sat Jun 20 11:33:08 CEST 2009
Hello Roberto,
.app file is read when you load the application into
your system, that is - during its start.
The env variables from the .app override their previous
values - so you will not find their original value anymore.
However, there is a simple workaround - try something like
that:
application:load(my_app). %% here you will load also the .app file
application:set_env(my_app, Key, Val).
application:start(my_app). %% .app will not be parsed here
----- "Roberto Ostinelli" <roberto@REDACTED> wrote:
> dear all,
>
> i'm starting an application which i need to dinamically configure.
>
> therefore, in the my_app.app file, i set an empty list as env:
>
> {application, my_app,
> [
> {description, "My App"},
> {vsn, "0.3"},
> [...]
> {env, []},
> {mod, {my_app, []}}
> ]}.
>
> then, before starting the application, i set the env variables i need,
>
> with:
>
> application:set_env(my_app, var1, "value").
>
> then i start the application with application:start(my_app), and in
> the start/2 function of my_app i have:
>
> start(_Type, _StartArgs) ->
> {ok, Var1} = application:get_env(my_app, var1),
> my_sup:start_link(Var1).
>
> so, basically i use Var1 as parameter of my_sup, which is my top level
>
> supervisor.
>
> i can see that Var1 is correct within my_app:start/2, because if i
> print it out it corresponds to the string "value".
>
> however, the application fails to start, and i get the following:
>
> {error,{shutdown,{my_app,start,[normal,[]]}}}
>
> =INFO REPORT==== 20-Jun-2009::11:12:35 ===
> application: my_app
> exited: {shutdown,{my_app,start,[normal,[]]}}
> type: temporary
>
> if, instead, i set the var1 in the my_app.app file, without changing
>
> ANYTHING in the code, everything works correctly:
>
> {application, my_app,
> [
> {description, "My App"},
> {vsn, "0.3"},
> [...]
> {env, [{var1, "value"}]},
> {mod, {my_app, []}}
> ]}.
>
>
> is there some kind soul to tell me what i'm doing wrong?
>
> thank you in advance,
>
> r.
>
>
> ________________________________________________________________
> erlang-questions mailing list. See http://www.erlang.org/faq.html
> erlang-questions (at) erlang.org
Best regards,
--
Michal Ptaszek
www.erlang-consulting.com
More information about the erlang-questions
mailing list