私たちは1つのスパウトと2つのボルトを構成した嵐のトポロジを持っています。 SpoutはDBからデータを継続的に照会し、何らかの処理のためにタプルを最初のボルトに送ります。最初のボルトは何らかの処理を行い、タプルを第2のボルトに送信して、第三者のWebサービスを呼び出し、データを送信します。だから、しばらくしてから何が起こっているのか、最後のボルトにはタプルがないので、トポロジを再起動するとうまくいきます。最後のボルトだけがここで問題になります。他の注ぎ口と最初のボルトはうまく動いていて、私は骨抜きのフレームワークを使用していません。私はこのケースではただ1人の労働者しか構成していない。Apache Storm Boltタスクはしばらくしてもメッセージを受信していません
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に平行性のヒントを与えました。 –