在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