续:这两天重新读<erlang/otp并发编程实战>,终于把之前头晕的一点东西看懂了。。
一.应用的组织形式
经典的组织形式:应用名+ 版本号下有:doc,ebin,include,priv,src。应用名+版本号的形式是为了管理方便->代码升级。
二.元数据
应用元数据文件用来告诉otp如何启动应用,以及该应用应该如何与系统中的其他应用相融合。主要的描述参数包括:description, vsn, modules, registered, application, mod.
通用配置信息不要写在这个配置文件中,而应该放到正规的配置文件中。
三.应用行为模式
每个主动应用都配有一个application行为模式的实现模块。该模块用于实现系统启动逻辑。它至少负责根监督者的启动,该监督者将成为应用中其他所有应用的鼻祖。
需要实现的内容应该有start和stop
start(_Type, _StartArgs) ->
cast xx_sup:start_link() of
{ok, pid} ->
{ok, pid};
Other -> {error, Other}
end.
stop(_State) ->
ok.
其中start内可以添加其他需要启动的内容,如启动ets
四.应用监督者
监督者负责启动otp应用进程,并负责在必要时重启进程。
监督者实现需要实现的内容有start_link和init
start_link