package com.xiaomi.infra.galaxy.talos.storm.message; import com.google.common.base.Joiner; import com.xiaomi.infra.galaxy.talos.thrift.MessageAndOffset; import com.xiaomi.infra.galaxy.talos.thrift.TopicAndPartition; /** * Created by jiasheng on 16-5-16. */ public class TalosStormMessage { public final TopicAndPartition topicPartition; public final MessageAndOffset message; public final String id; public TalosStormMessage(TopicAndPartition topicPartition, MessageAndOffset message) { this.topicPartition = topicPartition; this.message = message; id = Joiner.on("-").join(topicPartition.topicName, topicPartition.partitionId, message.messageOffset); } @Override public boolean equals(Object obj) { if (obj == null || obj.getClass() != this.getClass()) { return false; } TalosStormMessage that = (TalosStormMessage) obj; return this.id.equals(that.id); } @Override public int hashCode() { return this.id.hashCode(); } }