mam topologii, na przykład składającego się z 1 wylewka i 4 sworzniezatrzymania przetwarzania krotki w niektórych śruby
spout A -> bolt B -> bolt C -> bolt E
-> bolt D
tylko jeśli pewne warunkowego stwierdzenie w śrubę B jest prawdziwe wtedy przechodzi krotki do śruby C śruby D .
i tylko jeśli niektóre warunkowe oświadczenie w śruby C jest prawdziwe wtedy przechodzi krotki do śrub E.
Więc jeden krotki mogą dotrzeć tylko śruby (śruba B lub C i D).
Używam BaseBasicBolt, który według mojej wiedzy jest automatycznie wywoływany po wywołaniu metody collector.emit.
Na przykład wykonać metoda śruby B jest jak poniżej
public class boltB extends BaseBasicBolt {
public void execute(Tuple tuple, BasicOutputCollector collector) {
...some logic goes here
if (response.getCount() > 0) {
collector.emit(new Values(tuple.getString(0)));
}
}
}
Więc jeśli collector.emit nie nazywa, myślę krotka z wylewką nie powiodła się, bo widzę z burzy ui że prawie wszystkie krotki z wylewem nie powiodło się.
W takim przypadku, gdzie powinienem nazywać "ack", aby nie brać pod uwagę, że jest to nieudana krotka?