标签:
private List<Integer> boltEmit(String out_stream_id, Collection<Tuple> anchors, List<Object> values, Integer out_task_id) { timer.start(); List<Integer> out_tasks = null; try { if (out_task_id != null) { out_tasks = sendTargets.get(out_task_id, out_stream_id, values); } else { out_tasks = sendTargets.get(out_stream_id, values); } for (Integer t : out_tasks) { Map<Long, Long> anchors_to_ids = new HashMap<Long, Long>(); if (anchors != null) { for (Tuple a : anchors) { //Long edge_id = MessageId.generateId(); Long edge_id = MessageId.generateId(random); long now = System.currentTimeMillis(); if (now - lastRotate > rotateTime) { pending_acks.rotate(); lastRotate = now; } put_xor(pending_acks, a, edge_id); for (Long root_id : a.getMessageId().getAnchorsToIds() .keySet()) { put_xor(anchors_to_ids, root_id, edge_id); } } } } return out_tasks; } catch (Exception e) { LOG.error("bolt emit", e); }finally { timer.stop(); } return new ArrayList<Integer>(); }
标签:
原文地址:http://www.cnblogs.com/catkins/p/5837743.html