有没有办法从螺栓中获取喷口msgId?

时间:2018-01-17 09:06:23

标签: apache-storm

Spout中有msgId,它用于确认并失败,问题是我可以从螺栓中获取这个msgId吗?

2 个答案:

答案 0 :(得分:1)

我认为您不需要消息ID。如果您正在使用storm-kafka,则可以使用以下方案获取作为元组https://github.com/apache/storm/blob/master/external/storm-kafka/src/jvm/org/apache/storm/kafka/StringMessageAndMetadataScheme.java的一部分发出的分区和偏移量。您可以将其设置为SpoutConfig的一部分。

如果你正在使用storm-kafka-client,它会默认发出此信息https://github.com/apache/storm/blob/master/external/storm-kafka-client/src/main/java/org/apache/storm/kafka/spout/DefaultRecordTranslator.java

答案 1 :(得分:0)

不,你只能获得这个螺栓处理的元组的msgid。

如果你想获取发出的spout的源msgid,你必须与消息一起发出id。