Package backtype.storm.spout

Source Code of backtype.storm.spout.TestTopology

package backtype.storm.spout;

import backtype.storm.Config;
import backtype.storm.LocalCluster;
import backtype.storm.scheme.StringScheme;
import backtype.storm.task.OutputCollector;
import backtype.storm.task.TopologyContext;
import backtype.storm.topology.OutputFieldsDeclarer;
import backtype.storm.topology.TopologyBuilder;
import backtype.storm.topology.base.BaseRichBolt;
import backtype.storm.tuple.Tuple;
import java.util.Map;


public class TestTopology {
    public static class FailEveryOther extends BaseRichBolt {
       
        OutputCollector _collector;
        int i=0;
       
        @Override
        public void prepare(Map map, TopologyContext tc, OutputCollector collector) {
            _collector = collector;
        }

        @Override
        public void execute(Tuple tuple) {
            i++;
            if(i%2==0) {
                _collector.fail(tuple);
            } else {
                _collector.ack(tuple);
            }
        }
       
        @Override
        public void declareOutputFields(OutputFieldsDeclarer declarer) {
        }
    }
   
    public static void main(String[] args) throws Exception {
        TopologyBuilder builder = new TopologyBuilder();
        KestrelThriftSpout spout = new KestrelThriftSpout("localhost", 2229, "test", new StringScheme());
        builder.setSpout("spout", spout).setDebug(true);
        builder.setBolt("bolt", new FailEveryOther())
                .shuffleGrouping("spout");
       
        LocalCluster cluster = new LocalCluster();
        Config conf = new Config();
        cluster.submitTopology("test", conf, builder.createTopology());
       
        Thread.sleep(600000);
    }
}
TOP

Related Classes of backtype.storm.spout.TestTopology

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.