Ho una topologia per esempio composto da bulloni 1 becco e 4fermata elaborazione tupla in taluni bullone
spout A -> bolt B -> bolt C -> bolt E
-> bolt D
Solo se qualche dichiarazione condizionale nel bullone B è vero, allora passa una tupla per foro C e bullone D .
e solo se qualche dichiarazione condizionale nel bullone C è vero allora si passa una tupla di bullone E.
Così singola tupla può raggiungere solo bullone B o (bullone C e D).
Sto usando BaseBasicBolt che a mia conoscenza esegue automaticamente l'operazione dopo che collector.emit viene chiamato.
Per esempio eseguire metodo bullone B è come qui di seguito
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)));
}
}
}
Quindi, se collector.emit non si chiama, credo tuple dalla bocca di erogazione è riuscita perché vedo da tempesta ui che quasi tutte le tuple di beccuccio è fallito.
In questo caso, dove dovrei chiamare "ack" per spout per non considerarlo come tupla fallita?