如何动态设置螺栓的多个shufflegrouping?

时间:2016-11-10 07:42:14

标签: apache-storm

我想从xml文件中读取拓扑结构,其中对于一个螺栓我有它所消耗的喷口和螺栓。要添加螺栓所消耗的每个喷口和螺栓,我们需要进行随机分组。因为我试图从xml文件中执行此操作,所以这应该是动态发生的。但是如果我执行类似下面的操作它会产生错误,因为每次进入循环时我们都会尝试创建一个具有相同boltid的新螺栓。

TopologyBuilder tp = new TopologyBuilder();
for(String boltconsumes : spoutsAndBoltsFromXml ){
        tp.setBolt(boltid,  boltclass ,boltexecutors).shufflegrouping(boltconsumes);
}

所以我尝试过这样的事情。

TopologyBuilder tp = new TopologyBuilder();
BoltDeclarer tp1 = tp.setBolt(boltid,  boltclass ,boltexecutors)
for(String boltconsumes : spoutsAndBoltsFromXml ){
        tp1= tp1.shufflegrouping(boltconsumes);
}

从这里我获得了一个tp1作为BoltDeclarer,但是我在tp.setSpout()处有我的鲸鱼喷水,而且我还会返回tp.createtopology()。我如何使用我在这里将tp1嵌入到tp中。有没有其他方法可以动态地进行随机分组。

提前致谢:)

0 个答案:

没有答案