package com.alibaba.jstorm.batch.meta; import java.io.Serializable; import java.util.Properties; import org.apache.commons.lang.builder.ToStringBuilder; import org.apache.commons.lang.builder.ToStringStyle; /** * Meta Spout Setting * * All needed configs must prepare before submit topopoly * * @author longda */ public class MetaSpoutConfig implements Serializable { private static final long serialVersionUID = 4157424979688593280L; private final String consumerGroup; /** * Alipay need set nameServer, taobao don't need set this field */ private final String nameServer; private final String topic; private final String subExpress; /** * The max allowed failures for one single message, skip the failure message * if excesses * * -1 means try again until success */ private int maxFailTimes = DEFAULT_FAIL_TIME; public static final int DEFAULT_FAIL_TIME = 10; /** * One batch's message number * */ private int batchMsgNum = DEFAULT_BATCH_MSG_NUM; public static final int DEFAULT_BATCH_MSG_NUM = 256; /** * Consumer start time Null means start from the last consumption * time(CONSUME_FROM_LAST_OFFSET) * */ private Long startTimeStamp; private Properties peroperties; public MetaSpoutConfig(String consumerGroup, String nameServer, String topic, String subExpress) { super(); this.consumerGroup = consumerGroup; this.nameServer = nameServer; this.topic = topic; this.subExpress = subExpress; } public int getMaxFailTimes() { return maxFailTimes; } public void setMaxFailTimes(int maxFailTimes) { this.maxFailTimes = maxFailTimes; } public Long getStartTimeStamp() { return startTimeStamp; } public void setStartTimeStamp(Long startTimeStamp) { this.startTimeStamp = startTimeStamp; } public Properties getPeroperties() { return peroperties; } public void setPeroperties(Properties peroperties) { this.peroperties = peroperties; } public String getConsumerGroup() { return consumerGroup; } public String getNameServer() { return nameServer; } public String getTopic() { return topic; } public String getSubExpress() { return subExpress; } public int getBatchMsgNum() { return batchMsgNum; } public void setBatchMsgNum(int batchMsgNum) { this.batchMsgNum = batchMsgNum; } @Override public String toString() { return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE); } }