public void execute(Tuple tuple, BasicOutputCollector collector) { tpsCounter.count(); Long tupleId = tuple.getLong(0); Pair pair = (Pair) tuple.getValue(1); sum.addAndGet(pair.getValue()); collector.emit(new Values(tupleId, pair)); }
@Override public void execute(Tuple input) { tpsCounter.count(); Long tupleId = input.getLong(0); Pair pair = (Pair) input.getValue(1); Pair trade = null; Pair customer = null; Tuple tradeTuple = null; Tuple customerTuple = null; if (input.getSourceComponent().equals(SequenceTopologyDef.CUSTOMER_BOLT_NAME)) { customer = pair; customerTuple = input; tradeTuple = tradeMap.remove(tupleId); if (tradeTuple == null) { customerMap.put(tupleId, input); return; } trade = (Pair) tradeTuple.getValue(1); } else if (input.getSourceComponent().equals(SequenceTopologyDef.TRADE_BOLT_NAME)) { trade = pair; tradeTuple = input; customerTuple = customerMap.remove(tupleId); if (customerTuple == null) { tradeMap.put(tupleId, input); return; } customer = (Pair) customerTuple.getValue(1); } else { LOG.info("Unknow source component: " + input.getSourceComponent()); collector.fail(input); return; } tradeSum.addAndGet(trade.getValue()); customerSum.addAndGet(customer.getValue()); collector.ack(tradeTuple); collector.ack(customerTuple); TradeCustomer tradeCustomer = new TradeCustomer(); tradeCustomer.setTrade(trade); tradeCustomer.setCustomer(customer); collector.emit(new Values(tupleId, tradeCustomer)); }