程序员人生 网站导航

(三 )kafka-jstorm集群实时日志分析 之 ---------jstorm集成spring 续(代码)

栏目:互联网时间:2014-11-08 08:04:49

  本地模式启动的.

package com.doctor.kafkajstrom; import java.util.HashMap; import java.util.Map; import java.util.concurrent.TimeUnit; import org.apache.commons.lang.RandomStringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.ApplicationContext; import com.doctor.kafkajstrom.log.manager.LogManager; import com.doctor.kafkajstrom.util.SpringUtil; import backtype.storm.Config; import backtype.storm.LocalCluster; import backtype.storm.spout.SpoutOutputCollector; 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.topology.base.BaseRichSpout; import backtype.storm.tuple.Fields; import backtype.storm.tuple.Tuple; import backtype.storm.tuple.Values; public class LocalJstormMain { public static void main(String[] args) { // Topology definition TopologyBuilder builder = new TopologyBuilder(); builder.setSpout("word-reader", new WordReaderSpoutCh03()); builder.setSpout("signals-spout", new SignalsSpoutCh03(),6); builder.setBolt("word-normalizer", new WordTransformBoltCh03(),6) .shuffleGrouping("word-reader"); builder.setBolt("word-counter", new WordCounterBoltCh03(), 2) .fieldsGrouping("word-normalizer", new Fields("word")) .allGrouping("signals-spout", "signals"); // Configuration Config conf = new Config(); conf.setNumWorkers(3); conf.setDebug(true); // Topology run conf.put(Config.TOPOLOGY_MAX_SPOUT_PENDING, 1); LocalCluster cluster = new LocalCluster(); cluster.submitTopology("Count-Word-Toplogy-With-Refresh-Cache", conf, builder.createTopology()); // try { // TimeUnit.MINUTES.sleep(2); // } catch (InterruptedException e) { // e.printStackTrace(); // } // cluster.killTopology("Count-Word-Toplogy-With-Refresh-Cache"); // cluster.shutdown(); } public static class WordReaderSpoutCh03 extends BaseRichSpout { private static final Logger log = LoggerFactory.getLogger(WordReaderSpoutCh03.class); private static final long serialVersionUID = 1L; private TopologyContext context; private SpoutOutputCollector collector; private static final String WORDS = "sjdkfjksdjfdkjaaa中触及看对方的罚款多级"; @Override public void open(Map conf, TopologyContext context, SpoutOutputCollector collector) { this.context = context; this.collector = collector; } @Override public void ack(Object msgId) { log.info("{Ok:{}}", msgId); } @Override public void fail(Object msgId) { log.info("{Ok:{}}", msgId); } @Override public void nextTuple() { this.collector.emit(new Values(RandomStringUtils.random(6, WORDS))); } @Override public void declareOutputFields(OutputFieldsDeclarer declarer) { declarer.declare(new Fields("line")); } } public static class SignalsSpoutCh03 extends BaseRichSpout { private static final long serialVersionUID = 1L; private SpoutOutputCollector spoutOutputCollector; @Override public void open(Map conf, TopologyContext context, SpoutOutputCollector collector) { this.spoutOutputCollector = collector; } @Override public void nextTuple() { this.spoutOutputCollector.emit("signals", new Values("refreshCache")); try { TimeUnit.MILLISECONDS.sleep(2); } catch (Throwable e) { } } @Override public void declareOutputFields(OutputFieldsDeclarer declarer) { declarer.declareStream("signals", new Fields("action")); } } public static class WordTransformBoltCh03 extends BaseRichBolt { private static final long serialVersionUID = 1L; private OutputCollector collector; private int numCounterTasks = 0; @Override public void prepare(Map stormConf, TopologyContext context, OutputCollector collector) { this.collector = collector; this.numCounterTasks = context.getComponentTasks("word-counter").size(); } @Override public void execute(Tuple input) { String[] lines = input.getString(0).split(" "); for (String line : lines) { String lowerCase = line.trim().toLowerCase(); if (!lowerCase.isEmpty()) { this.collector.emit(new Values(line)); } } this.collector.ack(input); } @Override public void declareOutputFields(OutputFieldsDeclarer declarer) { declarer.declare(new Fields("word")); } } public static class WordCounterBoltCh03 extends BaseRichBolt { private static final Logger log = LoggerFactory.getLogger(WordCounterBoltCh03.class); private static final long serialVersionUID = 1L; private Map<String, Integer> countMap; private OutputCollector collector; private String name; private int id; private static final ApplicationContext applicationContext; private static final LogManager logManager; static{ applicationContext = SpringUtil.of("learningJstormConfig/spring-kafkabolt-context.xml"); logManager = applicationContext.getBean(LogManager.class); log.info("--------------ApplicationContext initialized from learningJstormConfig/spring-kafkabolt-context.xml "); } @Override public void prepare(Map stormConf, TopologyContext context, OutputCollector collector) { this.countMap = new HashMap<>(); this.collector = collector; this.name = context.getThisComponentId(); this.id = context.getThisTaskId(); log.info("-----------------WordCounterBoltCh03 prepare"); } @Override public void execute(Tuple input) { String word = null; try { word = input.getStringByField("word"); } catch (Throwable e) { } if (null != word) { if (!countMap.containsKey(word)) { countMap.put(word, 1); } else { Integer count = countMap.get(word); count++; countMap.put(word, count); logManager.write(word + ":" + countMap.get(word)); } } else { if ("signals.".equals(input.getSourceStreamId()) && "refreshCache".equals(input.getStringByField("action"))) { cleanup(); countMap.clear(); } } this.collector.ack(input); } @Override public void declareOutputFields(OutputFieldsDeclarer declarer) { } @Override public void cleanup() { log.info("{cleanup................}"); countMap.forEach((k, v) -> { log.info("{clean up.................}"); log.info("k : {} , v : {}", k, v); }); } } }
 Spring加载代码:

public final class SpringUtil { private SpringUtil() { throw new IllegalAccessError("constructor should not http://www.wfuyu.com/access/"); } public static ApplicationContext of(String classPathConfigLocation){ return new ClassPathXmlApplicationContext(classPathConfigLocation); } }


spring 配置文件:

<?xml version="1.0" encoding="UTF⑻"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" xmlns:task="http://www.springframework.org/schema/task" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd"> <import resource="classpath:/learningJstormConfig/dubbo-provider.xml"/> <context:component-scan base-package="com.doctor.kafkajstrom.log.manager.imp" /> <context:component-scan base-package="com.doctor.kafkajstrom.log.service.imp" /> <context:component-scan base-package="com.doctor.kafkajstrom.component" /> </beans>

部份运行结果:

59519 [word-counter:2-BoltExecutors] ERROR kafka.producer.async.DefaultEventHandler  - Failed to send requests for topics kafka-test with correlation ids in [145,152]
10⑶0 22:15:11.581 word-counter:2-BoltExecutors INFO  c.d.k.l.m.i.LogManagerImp -  LogManagerImp write method :jdjkkj:2
10⑶0 22:15:12.021 word-normalizer:5-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:5 default to [1]:[的kakd的]
10⑶0 22:15:12.021 word-normalizer:5-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:5 default to [1]:[a罚j的j的]
10⑶0 22:15:12.021 word-normalizer:5-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:5 default to [1]:[涉方的级df]
10⑶0 22:15:12.021 word-normalizer:5-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:5 default to [2]:[kkas罚d]
10⑶0 22:15:12.021 word-normalizer:5-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:5 default to [2]:[对ja看sf]
10⑶0 22:15:12.022 word-normalizer:5-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:5 default to [1]:[a对的及kd]
10⑶0 22:15:12.022 word-normalizer:5-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:5 default to [1]:[及ks中方中]
10⑶0 22:15:12.022 word-normalizer:5-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:5 default to [1]:[j多方多级级]
10⑶0 22:15:12.022 word-normalizer:7-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:7 default to [2]:[涉j对fas]
10⑶0 22:15:12.022 word-normalizer:8-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:8 default to [1]:[kasa款级]
10⑶0 22:15:12.022 word-normalizer:6-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:6 default to [2]:[j多多aa多]
10⑶0 22:15:12.022 word-normalizer:5-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:5 default to [2]:[fjda触及]
10⑶0 22:15:12.022 word-normalizer:7-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:7 default to [2]:[kkja触及]
10⑶0 22:15:12.022 word-normalizer:8-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:8 default to [2]:[及s及ddk]
10⑶0 22:15:12.022 word-normalizer:3-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:3 default to [2]:[s及dks对]
10⑶0 22:15:12.022 word-normalizer:4-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:4 default to [1]:[jfd中a中]
10⑶0 22:15:12.023 word-normalizer:6-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:6 default to [2]:[jadj及涉]
10⑶0 22:15:12.023 signals-spout:15-SingleThreadSpoutExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from signals-spout:15 signals to [1, 2]:[refreshCache]
10⑶0 22:15:12.023 signals-spout:14-SingleThreadSpoutExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from signals-spout:14 signals to [1, 2]:[refreshCache]
10⑶0 22:15:12.023 word-normalizer:5-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:5 default to [2]:[多a多中a涉]
10⑶0 22:15:12.023 word-normalizer:7-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:7 default to [2]:[多方多及ad]
10⑶0 22:15:12.023 word-normalizer:8-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:8 default to [1]:[d中djfd]
10⑶0 22:15:12.024 word-normalizer:3-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:3 default to [1]:[及fd款对j]
10⑶0 22:15:12.024 word-normalizer:4-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:4 default to [1]:[及ksjjs]
10⑶0 22:15:12.024 signals-spout:11-SingleThreadSpoutExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from signals-spout:11 signals to [1, 2]:[refreshCache]
10⑶0 22:15:12.024 signals-spout:12-SingleThreadSpoutExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from signals-spout:12 signals to [1, 2]:[refreshCache]
10⑶0 22:15:12.024 signals-spout:16-SingleThreadSpoutExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from signals-spout:16 signals to [1, 2]:[refreshCache]
10⑶0 22:15:12.024 word-normalizer:6-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:6 default to [1]:[j多f多kj]
10⑶0 22:15:12.025 word-normalizer:5-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:5 default to [2]:[中看f中罚a]
10⑶0 22:15:12.025 word-normalizer:7-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:7 default to [2]:[s罚j款看罚]
10⑶0 22:15:12.025 word-normalizer:8-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:8 default to [1]:[f罚s及多罚]
10⑶0 22:15:12.025 signals-spout:13-SingleThreadSpoutExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from signals-spout:13 signals to [1, 2]:[refreshCache]
10⑶0 22:15:12.025 word-normalizer:3-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:3 default to [2]:[款kk级f涉]
10⑶0 22:15:12.026 word-normalizer:4-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:4 default to [1]:[k多k对方k]
10⑶0 22:15:12.026 word-normalizer:6-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:6 default to [2]:[fs的及aj]
10⑶0 22:15:12.026 word-normalizer:5-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:5 default to [1]:[j看款k级款]
10⑶0 22:15:12.027 signals-spout:14-SingleThreadSpoutExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from signals-spout:14 signals to [1, 2]:[refreshCache]
10⑶0 22:15:12.027 signals-spout:15-SingleThreadSpoutExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from signals-spout:15 signals to [1, 2]:[refreshCache]
10⑶0 22:15:12.027 word-normalizer:7-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:7 default to [2]:[df的aaj]
10⑶0 22:15:12.027 word-normalizer:8-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:8 default to [2]:[及对级djd]
10⑶0 22:15:12.027 word-normalizer:3-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:3 default to [2]:[a级j对的看]
10⑶0 22:15:12.028 word-normalizer:4-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:4 default to [2]:[k罚a触及k]
10⑶0 22:15:12.028 signals-spout:16-SingleThreadSpoutExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from signals-spout:16 signals to [1, 2]:[refreshCache]
10⑶0 22:15:12.028 signals-spout:12-SingleThreadSpoutExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from signals-spout:12 signals to [1, 2]:[refreshCache]
10⑶0 22:15:12.028 signals-spout:11-SingleThreadSpoutExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from signals-spout:11 signals to [1, 2]:[refreshCache]
10⑶0 22:15:12.028 word-normalizer:6-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:6 default to [2]:[款涉罚dad]
10⑶0 22:15:12.029 word-normalizer:5-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:5 default to [2]:[看中d方aj]
10⑶0 22:15:12.029 word-normalizer:7-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:7 default to [1]:[jaj中对款]
10⑶0 22:15:12.029 word-normalizer:8-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:8 default to [2]:[jk中d级看]
10⑶0 22:15:12.029 signals-spout:13-SingleThreadSpoutExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from signals-spout:13 signals to [1, 2]:[refreshCache]
10⑶0 22:15:12.030 word-normalizer:3-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:3 default to [1]:[中j对kj及]
10⑶0 22:15:12.030 word-normalizer:4-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:4 default to [1]:[d中罚的k中]
10⑶0 22:15:12.030 word-normalizer:6-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:6 default to [1]:[kj多方d对]
10⑶0 22:15:12.031 word-normalizer:5-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:5 default to [1]:[sa看j的d]
10⑶0 22:15:12.031 word-normalizer:7-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:7 default to [1]:[的k多f款多]
10⑶0 22:15:12.031 word-normalizer:8-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:8 default to [1]:[kj中js的]
10⑶0 22:15:12.031 signals-spout:14-SingleThreadSpoutExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from signals-spout:14 signals to [1, 2]:[refreshCache]
10⑶0 22:15:12.031 signals-spout:15-SingleThreadSpoutExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from signals-spout:15 signals to [1, 2]:[refreshCache]
10⑶0 22:15:12.031 word-normalizer:3-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:3 default to [2]:[d中jkss]
10⑶0 22:15:12.032 word-normalizer:4-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:4 default to [1]:[涉看k看的a]
10⑶0 22:15:12.032 word-normalizer:6-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:6 default to [1]:[a级对级及看]
10⑶0 22:15:12.032 signals-spout:16-SingleThreadSpoutExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from signals-spout:16 signals to [1, 2]:[refreshCache]
10⑶0 22:15:12.032 word-normalizer:5-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:5 default to [1]:[jdjak看]
10⑶0 22:15:12.032 signals-spout:12-SingleThreadSpoutExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from signals-spout:12 signals to [1, 2]:[refreshCache]
10⑶0 22:15:12.032 signals-spout:11-SingleThreadSpoutExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from signals-spout:11 signals to [1, 2]:[refreshCache]
10⑶0 22:15:12.032 word-normalizer:7-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:7 default to [2]:[级fa方kj]
10⑶0 22:15:12.032 word-normalizer:8-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:8 default to [1]:[对kaj中方]
10⑶0 22:15:12.033 word-normalizer:3-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:3 default to [2]:[ajdj中d]
10⑶0 22:15:12.033 word-normalizer:4-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:4 default to [2]:[jdd及对对]
10⑶0 22:15:12.033 signals-spout:13-SingleThreadSpoutExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from signals-spout:13 signals to [1, 2]:[refreshCache]
10⑶0 22:15:12.033 word-normalizer:6-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:6 default to [2]:[f的ff罚f]
10⑶0 22:15:12.034 word-normalizer:5-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:5 default to [1]:[saaada]
10⑶0 22:15:12.034 word-normalizer:7-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:7 default to [2]:[ska方对s]
10⑶0 22:15:12.034 word-normalizer:8-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:8 default to [1]:[罚aj中d看]
10⑶0 22:15:12.034 word-normalizer:3-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:3 default to [1]:[dsj多看对]
10⑶0 22:15:12.035 word-normalizer:4-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:4 default to [2]:[j级s对aj]
10⑶0 22:15:12.035 signals-spout:15-SingleThreadSpoutExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from signals-spout:15 signals to [1, 2]:[refreshCache]
10⑶0 22:15:12.035 signals-spout:14-SingleThreadSpoutExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from signals-spout:14 signals to [1, 2]:[refreshCache]
10⑶0 22:15:12.035 word-normalizer:6-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:6 default to [1]:[sj中涉方a]
10⑶0 22:15:12.035 word-normalizer:5-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:5 default to [1]:[akkjdf]
10⑶0 22:15:12.035 word-normalizer:7-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:7 default to [2]:[kad及s方]
10⑶0 22:15:12.036 word-normalizer:8-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:8 default to [1]:[a看中a看d]
10⑶0 22:15:12.036 signals-spout:16-SingleThreadSpoutExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from signals-spout:16 signals to [1, 2]:[refreshCache]
10⑶0 22:15:12.036 word-normalizer:3-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:3 default to [1]:[k级看k的涉]
10⑶0 22:15:12.036 signals-spout:12-SingleThreadSpoutExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from signals-spout:12 signals to [1, 2]:[refreshCache]
10⑶0 22:15:12.036 word-normalizer:4-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:4 default to [2]:[kdaaa及]
10⑶0 22:15:12.036 signals-spout:11-SingleThreadSpoutExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from signals-spout:11 signals to [1, 2]:[refreshCache]
10⑶0 22:15:12.037 word-normalizer:6-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:6 default to [1]:[级多jjjj]
10⑶0 22:15:12.037 word-normalizer:5-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:5 default to [2]:[及jsajd]
10⑶0 22:15:12.037 word-normalizer:7-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:7 default to [1]:[及a款afs]
10⑶0 22:15:12.037 word-normalizer:8-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:8 default to [1]:[款对j罚k看]
10⑶0 22:15:12.037 signals-spout:13-SingleThreadSpoutExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from signals-spout:13 signals to [1, 2]:[refreshCache]
10⑶0 22:15:12.037 word-normalizer:3-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:3 default to [2]:[k级asa方]
10⑶0 22:15:12.037 word-normalizer:4-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:4 default to [2]:[f款sk涉方]
10⑶0 22:15:12.038 word-normalizer:6-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:6 default to [1]:[ks及多款a]
10⑶0 22:15:12.038 word-normalizer:5-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:5 default to [1]:[fjkfa看]
10⑶0 22:15:12.038 word-normalizer:7-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:7 default to [1]:[fjjaa对]
10⑶0 22:15:12.038 word-normalizer:8-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:8 default to [1]:[jfkf对k]
10⑶0 22:15:12.038 word-normalizer:3-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:3 default to [2]:[款涉多s方级]
10⑶0 22:15:12.038 word-normalizer:4-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:4 default to [1]:[级及kss级]
10⑶0 22:15:12.038 word-normalizer:6-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:6 default to [2]:[涉k中kjj]
10⑶0 22:15:12.038 word-normalizer:5-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:5 default to [1]:[jjjdjs]
10⑶0 22:15:12.038 word-normalizer:7-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:7 default to [2]:[ajjadf]
10⑶0 22:15:12.038 signals-spout:15-SingleThreadSpoutExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from signals-spout:15 signals to [1, 2]:[refreshCache]
10⑶0 22:15:12.038 signals-spout:14-SingleThreadSpoutExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from signals-spout:14 signals to [1, 2]:[refreshCache]
10⑶0 22:15:12.038 word-normalizer:8-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:8 default to [2]:[f对dd多a]
10⑶0 22:15:12.039 word-normalizer:3-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:3 default to [2]:[方级j涉中款]
10⑶0 22:15:12.039 word-normalizer:4-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:4 default to [2]:[看看及级aj]
10⑶0 22:15:12.039 word-normalizer:6-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:6 default to [2]:[fd方d多涉]
10⑶0 22:15:12.039 word-normalizer:5-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:5 default to [2]:[的j对as级]
10⑶0 22:15:12.039 word-normalizer:7-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:7 default to [2]:[ka罚对看j]
10⑶0 22:15:12.039 signals-spout:16-SingleThreadSpoutExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from signals-spout:16 signals to [1, 2]:[refreshCache]
10⑶0 22:15:12.039 word-normalizer:8-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:8 default to [2]:[djs款fa]
10⑶0 22:15:12.039 signals-spout:12-SingleThreadSpoutExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from signals-spout:12 signals to [1, 2]:[refreshCache]
10⑶0 22:15:12.039 word-normalizer:3-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:3 default to [1]:[款的及jf方]
10⑶0 22:15:12.040 signals-spout:11-SingleThreadSpoutExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from signals-spout:11 signals to [1, 2]:[refreshCache]
10⑶0 22:15:12.040 word-normalizer:4-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:4 default to [1]:[ddskjs]
10⑶0 22:15:12.040 word-normalizer:6-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:6 default to [1]:[款asjjk]
10⑶0 22:15:12.040 word-normalizer:5-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:5 default to [1]:[s级jas级]
10⑶0 22:15:12.040 word-normalizer:7-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:7 default to [1]:[da及s及方]
10⑶0 22:15:12.040 word-normalizer:8-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:8 default to [2]:[款saajs]
10⑶0 22:15:12.040 word-normalizer:3-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:3 default to [1]:[k中djsj]
10⑶0 22:15:12.040 signals-spout:13-SingleThreadSpoutExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from signals-spout:13 signals to [1, 2]:[refreshCache]
10⑶0 22:15:12.041 word-normalizer:4-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:4 default to [1]:[akf中罚罚]
10⑶0 22:15:12.041 word-normalizer:6-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:6 default to [2]:[j看的看方k]
10⑶0 22:15:12.041 word-normalizer:5-BoltExecutors INFO  c.a.j.t.c.TaskSendTargets -  Emit from word-normalizer:5 default to [2]:[djjaa及]

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐