private void scheduleNextCallback() { ScheduleHandleCallback nextScheduleCallback = new ScheduleHandleCallback() { public void scheduledTrigger() { continueSendingEvents(); } }; EPRuntimeSPI spi = (EPRuntimeSPI) runtime; String deploymentId = "CSV-adapter-" + UuidGenerator.generate(); StatementMetricHandle metricsHandle = spi.getServicesContext().getMetricReportingService().getStatementHandle(-1, deploymentId, "AbstractCoordinatedAdapter"); EPStatementHandle stmtHandle = new EPStatementHandle("AbstractCoordinatedAdapter", deploymentId, -1, null, 0, false, false, spi.getServicesContext().getMultiMatchHandlerFactory().make(false, false), false, false, metricsHandle, null, null); EPStatementAgentInstanceHandle agentInstanceHandle = new EPStatementAgentInstanceHandle(stmtHandle, -1, new StatementAgentInstanceLockRW(false)); EPStatementHandleCallbackSchedule scheduleCSVHandle = new EPStatementHandleCallbackSchedule(agentInstanceHandle, nextScheduleCallback); long nextScheduleSlot; if (eventsToSend.isEmpty()) { if ((ExecutionPathDebugLog.isDebugEnabled) && (log.isDebugEnabled())) { log.debug(".scheduleNextCallback no events to send, scheduling callback in 100 ms"); } nextScheduleSlot = 0L; schedulingService.add(100, scheduleCSVHandle, nextScheduleSlot); } else { // Offset is not a function of the currentTime alone. long baseMsec = currentTime - startTime; long afterMsec = eventsToSend.first().getSendTime() - baseMsec; nextScheduleSlot = eventsToSend.first().getScheduleSlot(); if ((ExecutionPathDebugLog.isDebugEnabled) && (log.isDebugEnabled())) { log.debug(".scheduleNextCallback schedulingCallback in " + afterMsec + " milliseconds"); } schedulingService.add(afterMsec, scheduleCSVHandle, nextScheduleSlot); } }
private void scheduleNextCallback() { ScheduleHandleCallback nextScheduleCallback = new ScheduleHandleCallback() { public void scheduledTrigger() { continueSendingEvents(); } }; EPRuntimeSPI spi = (EPRuntimeSPI) runtime; String deploymentId = "CSV-adapter-" + UuidGenerator.generate(); StatementMetricHandle metricsHandle = spi.getServicesContext().getMetricReportingService().getStatementHandle(-1, deploymentId, "AbstractCoordinatedAdapter"); EPStatementHandle stmtHandle = new EPStatementHandle("AbstractCoordinatedAdapter", deploymentId, -1, null, 0, false, false, spi.getServicesContext().getMultiMatchHandlerFactory().make(false, false), false, false, metricsHandle, null, null); EPStatementAgentInstanceHandle agentInstanceHandle = new EPStatementAgentInstanceHandle(stmtHandle, -1, new StatementAgentInstanceLockRW(false)); EPStatementHandleCallbackSchedule scheduleCSVHandle = new EPStatementHandleCallbackSchedule(agentInstanceHandle, nextScheduleCallback); long nextScheduleSlot; if (eventsToSend.isEmpty()) { if ((ExecutionPathDebugLog.isDebugEnabled) && (log.isDebugEnabled())) { log.debug(".scheduleNextCallback no events to send, scheduling callback in 100 ms"); } nextScheduleSlot = 0L; schedulingService.add(100, scheduleCSVHandle, nextScheduleSlot); } else { // Offset is not a function of the currentTime alone. long baseMsec = currentTime - startTime; long afterMsec = eventsToSend.first().getSendTime() - baseMsec; nextScheduleSlot = eventsToSend.first().getScheduleSlot(); if ((ExecutionPathDebugLog.isDebugEnabled) && (log.isDebugEnabled())) { log.debug(".scheduleNextCallback schedulingCallback in " + afterMsec + " milliseconds"); } schedulingService.add(afterMsec, scheduleCSVHandle, nextScheduleSlot); } }
MultiMatchHandler multiMatchHandler = services.getMultiMatchHandlerFactory().make(informationals.isHasSubquery(), informationals.isNeedDedup());