在Erlang/OTP ,Application表示作为一个单元,可以启动和停止,执行一些特定功能的组件,并可以在其它系统中重新使用。Application控制器的模块接口,是在每一个Erlang运行时系统启动的进程,并包含用于控制Application(例如启动和停止Application),以及访问Application的信息(例如配置参数)的功能。
Erlang/OTP Application基本结构:
一个 Application 至少包含了3部分的内容:应用模块、监督者模块、资源文件。
应用模块(test_app.erl) :
-module(test_app).
-behaviour(application).
-export([start/2, stop/1]).
start(_Type, StartArgs) ->
io:format("test app start~n"),
case test_sup:start_link(StartArgs) of
{ok, Pid} ->
{ok, Pid};
Error ->
Error
end.
stop(_State) ->
ok.
监督者模块(test_sup.erl):
-module(test_sup).
-behaviour(supervisor).
-export([start_link/1, init/1]).
start_link(_) ->