风暴:是否可以限制失败的重播次数(锚定)?

时间:2014-09-16 08:31:55

标签: apache-storm

使用锚定时是否可以选择限制重播次数? 我有一个应该解析json对象的元组,如果它得到一个异常,我更喜欢它会重放两次。

我试图跟踪风暴重放打印的次数,但每次输入不可解析的值时,计数器显示不同的结果。

catch{
collector.fail(tuple)
} 

2 个答案:

答案 0 :(得分:4)

在元组中添加一个字段以保持次数再次尝试,并使用元组作为喷口发出的id和object。当元组失败时,spout获取密钥(这是具有剩余重试次数的元组),并且您可以在重试计数递减的情况下有条件地重新发出元组。

答案 1 :(得分:2)

fail类中的BaseRichSpout方法为空。意味着你应该覆盖相同的方法来处理失败的元组回复策略。