我們有一個風暴拓撲,我們在其中配置了一個噴嘴和兩個螺栓。 Spout不斷從數據庫中查詢數據,並將它發送給第一個螺栓進行一些處理。第一個螺栓執行一些處理並將元組發送到第二個螺栓,該螺栓調用第三方Web服務併發送數據。所以,在一段時間後發生了什麼,最後一個螺栓沒有得到任何元組,如果我們重新啓動拓撲,它工作正常。這裏只有最後一個螺栓出現問題。其他噴口和第一個螺栓運行良好,我不使用acking框架。在這種情況下,我只配置了一名工人。阿帕奇風暴螺栓任務在一段時間後沒有收到消息
TopologyBuilder builder = new TopologyBuilder();
builder.setSpout("messageListenrSpout", new MessageListenerSpout(), 1);
builder.setBolt("processorBolt", new ProcessorBolt(), 20).shuffleGrouping("messageListenrSpout");
builder.setBolt("notifierBolt", new NotifierBolt(),40).shuffleGrouping("processorBolt");
Config conf = new Config();
conf.put(Config.TOPOLOGY_SLEEP_SPOUT_WAIT_STRATEGY_TIME_MS, 10000);
//conf.setMessageTimeoutSecs(600);
conf.setDebug(true);
StormSubmitter.submitTopology(TOPOLOGY, conf, builder.createTopology());
嗨克里斯,我沒有使用acking框架。風暴還會超時嗎?如果郵件超時,我們可以在哪裏檢查日誌。我已經給出了最後一個螺栓的30個平行度提示。 –