从rabbit模块启动 看rabbit.erl的 start()-> 函数
start() ->
try
ok = prepare(),
ok = rabbit_misc:start_applications(?APPS)
after
%%give the error loggers some time to catch up
timer:sleep(100)
end.
prepare()准备环境 然后调用rabbit_misc:start_applications(?APPS)
-define(APPS, [os_mon, mnesia, rabbit]).
看看rabbit_misc:start_applications
start_applications(Apps) ->
manage_applications(fun lists:foldl/3,
fun application:start/1,
fun application:stop/1,
already_started,
cannot_start_application,
Apps).
start_applications调用的是manage_applications 传递的参数是
fun lists:foldl/3,
fun application:start/1,
fun application:stop/1,
already_started,
cannot_start_application,
[os_mon, mnesia, rabbit]
这个比较精妙,仔细看看!分别对应到Iterate, Do, Undo, SkipError, ErrorTag, Apps,如下
manage_applications(Iterate, Do, Undo, SkipError, ErrorTag, Apps) ->
Iterate(fun (App, Acc) ->
case Do(App) of
ok -> [App | Acc];
{error, {SkipError, _}} -> Acc;
{error, Reason} ->
lists:foreach(Undo, Acc),
throw({error, {ErrorTag, App, Reason}})
end
end, [], Apps),
ok.
实际如下
manage_applications(lists:foldl/3, application:start/1, application:stop, already_started, cannot_start_application, [os_mon, mnesiarabbit]) ->
lists:foldl(fun (os_mon, Acc) ->
case application:start(os_mon) of
ok -> [os_mon | Acc];
{error, {already_started, _}} -> Acc;
{error, Reason} ->
lists:foreach(application:stop, Acc),
throw({error, {cannot_start_application, os_mon, Reason}})
end
end, [], [os_mon, mnesia, rabbit]),
ok. 依次启动os_mon, mnesia, rabbit
使用application:start(rabbit) 会调用rabbit:start()/2
分享到:
相关推荐
rabbit 3000微处理器核心模块使用手册
rabbit mq 与redis redis哨兵得自启动 linux脚本
rabbit源代码\启动接口压缩包
Rabbit
Rabbit Framework for MVC是Rabbit系列入门书的一本,26页,中文,介绍了Rabbit Framework for MVC的使用,包括创建第一个MVC模块、自定义路由、使用主体、特性等等内容。
rabbit mq入门例子. 使用rabbit mq实现服务器连接,消息发送,接收。
rabbit入门
初次体会rabbit,安装rabbitmq以后查看消息的传输以及管道命令
spring amqp rabbit 标签使用
Rabbit EG2110 RabbitLinkpdf,Rabbit EG2110 RabbitLink
Rabbit 2000 单片机详细中文手册,百度谷歌上都很少的资料
Rabbit 3000 Microprocessorspdf,Rabbit 3000 Microprocessors
PJBlog2 Rabbit & Kitty
基于springBoot2.0,整合rabbit 和 hikari的示例代码
Rabbit 4000 Microprocessorspdf,Rabbit 4000 Microprocessors
spring-rabbit RabbitMQ spring-boot
pcd+ply+xyz,Rabbit兔子点云模型
Rabbit2000中文说明,详细的器件资料,最主要的是中文啊,对于我们英文盲来说绝对宝贵.
rabbit mq windows 64 较新,很实用,消息中间件服务端。
Rabbit推荐使用的串口调试工具,下载后需选择合适的波特率及com口即可