我是风暴中的新手,并试图了解从spout
到bolt
的不同方法的执行流程。
像spout有不同的方法,如
nextTuple()
开()
declareOutputFields()
激活()
去激活()
和bolt有像
这样的方法制备()
执行()
清理()
declareOutputFields()
那么有人能告诉我这些方法的执行顺序吗?
答案 0 :(得分:12)
首先,当您启动拓扑时......
declareOutputFields
其次,在集群中某个地方的每个工人......
open
和Bolts prepare
(发生一次)ack
,fail
和nextTuple
execute
如果您的拓扑已停用...
deactivate
方法。再次激活拓扑时,将调用activate
。如果你的拓扑被杀了......
close
调用cleanup
调用注意:
没有保证关闭会被叫,因为 主管杀死集群上的-9工作进程。 source