在java中實現了一個非常簡單的apache風暴拓撲後,我遇到了一個導致一些混淆的NPE。apache風暴如何創建它的螺栓實現
這基本上是我的主要方法:
TologyBuilder builder = new TopologyBuilder();
builder.setSpout("spout", new CustomSpout(true), 4);
final CustomBolt bolt = new CustomBolt();
builder.setBolt("bolt", bolt, 1).shuffleGrouping("spout");
LocalCluster cluster = new LocalCluster();
Map conf = new HashMap();
conf.put(Config.TOPOLOGY_WORKERS, 10);
cluster.submitTopology("test", conf, createTopology());
的CustomBolt
擴展AbstractBasic
類並實現IRichBolt
。他們有這些領域:
abstract class AbstractBasic {
A a;
B b;
}
CustomBolt extends AbstractBasic implements IRichBolt {
A anotherA;
C c;
CustomBolt() {
this.anotherA = new A(true);
this.a = new A(false);
this.b = new B();
this.c = new C();
}
}
論CustomBolt
的execute
方法會有一些插入到所有類。然而,從AbstractBasic
遺傳的字段沒有實例化,但其他的,直接住在CustomBolt
,...
有誰知道螺栓是如何構造的,以及它如何可能的某些領域被初始化,有些不是。
完美,這的確解決了吧:)。 – user3354890