package com.neverwinterdp.demandspike.yarn.worker; import java.util.Map; public class DemandSpikeAppWorkerConfig { private String brokerConnect ; private String topic ; private long maxDuration ; private int numOfMessages ; public DemandSpikeAppWorkerConfig() {} public DemandSpikeAppWorkerConfig(Map<String, String> conf) { this.brokerConnect = getString(conf, "broker-connect", "127.0.0.1:8080") ; this.topic = getString(conf, "topic", "metrics.consumer") ; this.numOfMessages = getInt(conf, "num-of-message", 1000000) ; this.maxDuration = getLong(conf, "max-duration", (3 * 60 * 1000l)) ; } public String getBrokerConnect() { return brokerConnect ; } public String getTopic() { return topic; } public long getMaxDuration() { return maxDuration; } public int getNumOfMessages() { return numOfMessages; } private String getString(Map<String, String> map, String name, String defaultValue) { String val = map.get(name) ; if(val == null) return defaultValue ; return val ; } private int getInt(Map<String, String> map, String name, int defaultValue) { String val = map.get(name) ; if(val == null) return defaultValue ; return Integer.parseInt(val) ; } private long getLong(Map<String, String> map, String name, long defaultValue) { String val = map.get(name) ; if(val == null) return defaultValue ; return Long.parseLong(val) ; } }