/** * @see stream.io.Sink#write(stream.Data) */ @Override public boolean write(Data item) throws Exception { int idx = random.nextInt(sinks.size()); Sink sink = sinks.get(idx); if (sink != null) { log.debug("Sending item to sink {}", sink.getId()); return sink.write(item); } else { log.error("No sink found for index '{}'", idx); } return false; }
/** * @see stream.io.Sink#write(stream.Data) */ @Override public boolean write(Data item) throws Exception { int idx = random.nextInt(sinks.size()); Sink sink = sinks.get(idx); if (sink != null) { log.debug("Sending item to sink {}", sink.getId()); return sink.write(item); } else { log.error("No sink found for index '{}'", idx); } return false; }
/** * @see stream.io.Sink#write(stream.Data) */ @Override public boolean write(Data item) throws Exception { int idx = random.nextInt(sinks.size()); Sink sink = sinks.get(idx); if (sink != null) { log.debug("Sending item to sink {}", sink.getId()); return sink.write(item); } else { log.error("No sink found for index '{}'", idx); } return false; }
protected int emit(Data data) { int written = 0; for (Sink sink : sinks) { Data d = data.createCopy(); try { log.debug("emitting to {}", sink.getId()); if (sink.write(d)) { written++; } } catch (Exception e) { e.printStackTrace(); } } return written; }
refs = getTargets(sink); if (refs.size() == 0) { log.debug("sink {} does not have any more feeders", sink.getId()); remove(sink, notify);