Apache storm 具有WindowedBolt的Storm拓扑中的异常

Apache storm 具有WindowedBolt的Storm拓扑中的异常,apache-storm,Apache Storm,我正在尝试运行带有窗口螺栓的拓扑,但出现以下异常: Exception in thread "main" java.lang.NullPointerException at org.apache.storm.topology.WindowedBoltExecutor.declareOutputFields(WindowedBoltExecutor.java:309) at org.apache.storm.topology.TopologyBuilder.getComponent

我正在尝试运行带有窗口螺栓的拓扑,但出现以下异常:

Exception in thread "main" java.lang.NullPointerException
    at org.apache.storm.topology.WindowedBoltExecutor.declareOutputFields(WindowedBoltExecutor.java:309)
    at org.apache.storm.topology.TopologyBuilder.getComponentCommon(TopologyBuilder.java:432)
    at org.apache.storm.topology.TopologyBuilder.createTopology(TopologyBuilder.java:120)
    at Main.main(Main.java:23)
我通过扩展BaseWindowedBolt创建了自定义窗口螺栓

拓扑代码:

TopologyBuilder builder = new TopologyBuilder();
        builder.setSpout("integer", new RandomIntegerSpout(), 1);
        builder.setBolt("tumblingsum", new CustomTumblingSumWindow().withTumblingWindow(new Duration(10, TimeUnit.SECONDS)),1).shuffleGrouping("integer");
        builder.setBolt("final", new ResultBolt(),1).shuffleGrouping("tumblingsum");
        Config config = new Config();
        config.put(Config.TOPOLOGY_WORKERS, 1);
        StormSubmitter.submitTopology("Test-Windowing-Topology", config, builder.createTopology());
风暴版为1.2.2

如果我在没有WindowedBolt的情况下运行拓扑,那么它正在工作

我遗漏了什么吗


谢谢

您收到的例外信息是

我猜您的螺栓从
getComponentConfiguration
返回null。这看起来像一个bug,但是您可以通过从
getComponentConfiguration
返回一个空映射来解决它


我用submitTopology和ProgressBar代替submitTopology来修复它。

我用submitTopology和ProgressBar代替了submitTopology,效果很好