package com.alibaba.rocketmq.storm.bolt; import backtype.storm.task.OutputCollector; import backtype.storm.task.TopologyContext; import backtype.storm.topology.IRichBolt; import backtype.storm.topology.OutputFieldsDeclarer; import backtype.storm.tuple.Tuple; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.Map; /** * @author Von Gosling */ public class RocketMqBolt implements IRichBolt { private static final long serialVersionUID = 7591260982890048043L; private static final Logger LOG = LoggerFactory.getLogger(RocketMqBolt.class); private OutputCollector collector; @Override public void prepare(@SuppressWarnings("rawtypes") Map stormConf, TopologyContext context, OutputCollector collector) { this.collector = collector; } @Override public void execute(Tuple input) { Object msgObj = input.getValue(0); Object msgStat = input.getValue(1); try { LOG.info("Messages:" + msgObj + "\n statistics:" + msgStat); } catch (Exception e) { collector.fail(input); return; //throw new FailedException(e); } collector.ack(input); } @Override public void cleanup() { } @Override public void declareOutputFields(OutputFieldsDeclarer declarer) { } @Override public Map<String, Object> getComponentConfiguration() { return null; } }