在网上看到了很多有关于storm的资料,不过很多具体的问题还是没有解答。
本文的主要内容主要是进行storm中ack和fail消息的处理。
大家都知道,spout和bolt的实现需要继承或者实现接口。对于spout来说,有两个基类以供继承:BaseBasicSpout和BaseRichSpout。两个类的区别是:前者隐式的传递了ack和fail信息,系统会自动传递,然后自动处理;而后者,需要我们手动的去调用ack和fail信息,以供我们后续去自定义ack和fail的要响应的内容。
现在看到,若要实现手动的编写ack及fail的响应方法,继承上述的两个基类均可以,但同时需要注意的必须要做的有两点:
1,、需要在spout中覆写ack及fail方法:如
/**
* 成功处理
*/
public void ack(Object msgId) {
System.out.println("ack++++++++++++++++++++++++++++++++ack");
}
/**
* 失败处理
*/
public void fail(Object msgId) {
System.out.println("fail+++++++++++++++++++&#