@Override public void prepare(Map<String, Object> topoConf, TopologyContext context, OutputCollector outputCollector) { init(context, new AnchoringOutputCollector(outputCollector)); bolt.prepare(topoConf, context, collector); }
void prepare(Map<String, Object> topoConf, TopologyContext context, OutputCollector collector, State state) { init(context, collector); this.collector = new AckTrackingOutputCollector(collector); bolt.prepare(topoConf, context, this.collector); this.state = state; }
@Override public void declareOutputFields(OutputFieldsDeclarer declarer) { if (outputStreamName != null) { declarer.declareStream(outputStreamName, outputFields); } else { declarer.declare(outputFields); } }
public void declareOutputFields(OutputFieldsDeclarer declarer) { if (this.declaredFields != null) { declarer.declare(this.declaredFields); } }
@Override public void declareOutputFields(OutputFieldsDeclarer declarer) { bolt.declareOutputFields(declarer); declareCheckpointStream(declarer); }
public void prepare(Map<String, Object> topoConf, TopologyContext context, OutputCollector collector) { _bolt.prepare(topoConf, context); _collector = new BasicOutputCollector(collector); }
@Override public void declareGrouping(BoltDeclarer declarer, String componentId, String streamId, Fields fields) { declarer.allGrouping(componentId, streamId); } };
@Override public void declareOutputFields(OutputFieldsDeclarer declarer) { bolt.declareOutputFields(declarer); declareCheckpointStream(declarer); }
void prepare(Map<String, Object> topoConf, TopologyContext context, OutputCollector collector, KeyValueState<Long, WindowPartition<Tuple>> windowState, KeyValueState<String, Deque<Long>> partitionState, KeyValueState<String, Optional<?>> windowSystemState) { outputCollector = collector; this.windowSystemState = windowSystemState; state = new WindowState<>(windowState, partitionState, windowSystemState, this::getState, statefulWindowedBolt.maxEventsInMemory()); doPrepare(topoConf, context, new NoAckOutputCollector(collector), state, true); restoreWindowSystemState(); }
@Override public void onActivation(List<Tuple> tuples, List<Tuple> newTuples, List<Tuple> expiredTuples, Long timestamp) { windowedOutputCollector.setContext(tuples); boltExecute(tuples, newTuples, expiredTuples, timestamp); }
@Override public void declare(String prevComponent, InputDeclarer declarer) { declarer.globalGrouping(prevComponent); } });
@Override public void declare(String prevComponent, InputDeclarer declarer) { declarer.noneGrouping(prevComponent, streamId); } });
@Override public void declare(String prevComponent, InputDeclarer declarer) { declarer.directGrouping(prevComponent); } });
@Override public void emitDirect(int taskId, String streamId, List<Object> tuple) { emitDirect(taskId, streamId, inputTuples, tuple); } }
/** * If the topology has at least one stateful bolt all the non-stateful bolts are wrapped in {@link CheckpointTupleForwarder} so that the * checkpoint tuples can flow through the topology. */ private IRichBolt maybeAddCheckpointTupleForwarder(IRichBolt bolt) { if (hasStatefulBolt && !(bolt instanceof StatefulBoltExecutor)) { bolt = new CheckpointTupleForwarder(bolt); } return bolt; }
@Override public void declare(String prevComponent, InputDeclarer declarer) { declarer.fieldsGrouping(prevComponent, streamId, fields); } });
@Override public void declare(String prevComponent, InputDeclarer declarer) { declarer.globalGrouping(prevComponent, streamId); } });
@Override public void declare(String prevComponent, InputDeclarer declarer) { declarer.noneGrouping(prevComponent); } });
@Override public void declare(String prevComponent, InputDeclarer declarer) { declarer.directGrouping(prevComponent, streamId); } });