Setelah menerapkan topologi apache storm yang sangat sederhana di java saya menemukan NPE yang menyebabkan kebingungan.
Ini pada dasarnya adalah metode utama saya:
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
memperluas kelas AbstractBasic
dan mengimplementasikan IRichBolt
. Mereka memiliki bidang berikut:
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();
}
}
Pada metode execute
dari CustomBolt
akan ada beberapa penyisipan ke semua kelas. Namun, bidang yang diwarisi dari AbstractBasic
tidak dipakai, tetapi bidang lainnya, yang langsung ada di CustomBolt
, adalah...
Adakah yang tahu bagaimana baut dibuat dan bagaimana mungkin beberapa bidang diinisialisasi dan ada pula yang tidak.