Spout中有msgId,它用于确认并失败,问题是我可以从螺栓中获取这个msgId吗?
答案 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。