/** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ 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); } }