BaseBasicBolt和BaseRichBolt的区别

BaseBasicBolt和BaseRichBolt的区别


  Storm的Bolt有 BaseBasicBoltBaseRichBolt
  BaseRichBolt中,BasicOutputCollector在emit数据的时候,需要显示指定该数据的源tuple要加上第二个参数anchor tuple,以保持tracker链路。即collector.emit(oldTuple, newTuple)。并且需要在execute执行成功后调用OutputCollector.ack(tuple), 当失败处理时,执行OutputCollector.fail(tuple)。
  BaseBasicBolt中,BasicOutputCollector在emit数据的时候,会自动和输入的tuple相关联,而在execute方法结束的时候那个输入tuple会被自动ack。

你可能感兴趣的:(Storm)