package com.xavient.dip.storm.spout.kafka; import backtype.storm.spout.SchemeAsMultiScheme; import storm.kafka.BrokerHosts; import storm.kafka.KafkaSpout; import storm.kafka.SpoutConfig; import storm.kafka.StringScheme; import storm.kafka.ZkHosts; public class KafkaInputSpout { public static KafkaSpout getKafkaSpout(String topic, String zkHost, String zkPort, Boolean rewind) { String zkRoot = "/" + topic; String zkSpoutId = topic; BrokerHosts hosts = new ZkHosts(zkHost + ":" + zkPort); SpoutConfig spoutCfg = new SpoutConfig(hosts, topic, zkRoot, zkSpoutId); if (rewind) { spoutCfg.ignoreZkOffsets = true; //spoutCfg.startOffsetTime = kafka.api.OffsetRequest.EarliestTime(); } spoutCfg.scheme = new SchemeAsMultiScheme(new StringScheme()); KafkaSpout kafkaSpout = new KafkaSpout(spoutCfg); return kafkaSpout; } }