public RegressionEnvironment advanceTimeSpan(long msec) { runtime.getEventService().advanceTimeSpan(msec); return this; }
public void process(ConsumerRecords<Object, Object> records) { for (ConsumerRecord record : records) { if (timestampExtractor != null) { long timestamp = timestampExtractor.extract(record); if (log.isDebugEnabled()) { log.debug("Sending time span {}", timestamp); } runtime.getEventService().advanceTimeSpan(timestamp); } if (record.value() != null) { if (log.isDebugEnabled()) { log.debug("Sending event {}", record.value().toString()); } Object event = record.value(); runtime.getEventService().sendEventBean(event, event.getClass().getSimpleName()); } } }
private void sendSoonestEvents() { if (usingExternalTimer) { // send all events in order and when time clicks over send time event for previous time while (!eventsToSend.isEmpty()) { long currentEventTime = eventsToSend.first().getSendTime(); // check whether time has increased. Cannot go backwards due to checks elsewhere if (currentEventTime > lastEventTime) { if (this.usingTimeSpanEvents) { this.runtime.getEventService().advanceTimeSpan(currentEventTime); } else { this.runtime.getEventService().advanceTime(currentEventTime); } lastEventTime = currentEventTime; } sendFirstEvent(); } } else { // watch time and send events to catch up while (!eventsToSend.isEmpty() && eventsToSend.first().getSendTime() <= currentTime - startTime) { sendFirstEvent(); } } }
private void sendSoonestEvents() { if (usingExternalTimer) { // send all events in order and when time clicks over send time event for previous time while (!eventsToSend.isEmpty()) { long currentEventTime = eventsToSend.first().getSendTime(); // check whether time has increased. Cannot go backwards due to checks elsewhere if (currentEventTime > lastEventTime) { if (this.usingTimeSpanEvents) { this.runtime.getEventService().advanceTimeSpan(currentEventTime); } else { this.runtime.getEventService().advanceTime(currentEventTime); } lastEventTime = currentEventTime; } sendFirstEvent(); } } else { // watch time and send events to catch up while (!eventsToSend.isEmpty() && eventsToSend.first().getSendTime() <= currentTime - startTime) { sendFirstEvent(); } } }
Assert.assertEquals(0, env.listener("s0").getNewDataList().size()); env.eventService().advanceTimeSpan(14000, 200); Assert.assertEquals(14000, env.eventService().getCurrentTime()); Assert.assertEquals(2, env.listener("s0").getNewDataList().size());