/** * Instructs the current Thread to sleep until the given deadline. This method may be overridden to check for * flags that have been set to return earlier than the given deadline. * <p> * The default implementation will sleep in blocks of 100ms, intermittently checking for the processor's state. Once * the processor stops running, this method will return immediately (after detecting the state change). * * @param millisToSleep The number of milliseconds to sleep */ protected void doSleepFor(long millisToSleep) { long deadline = System.currentTimeMillis() + millisToSleep; try { long timeLeft; while (getState().isRunning() && (timeLeft = deadline - System.currentTimeMillis()) > 0) { Thread.sleep(Math.min(timeLeft, 100)); } } catch (InterruptedException e) { logger.warn("Thread interrupted. Preparing to shut down event processor"); shutDown(); Thread.currentThread().interrupt(); } }
@Override public void run() { try { processingLoop(segment); } catch (Throwable e) { logger.error("Processing loop ended due to uncaught exception. Pausing processor in Error State.", e); state.set(State.PAUSED_ERROR); } finally { activeSegments.remove(segment.getSegmentId()); if (availableThreads.getAndIncrement() == 0 && getState().isRunning()) { logger.info("No Worker Launcher active. Using current thread to assign segments."); new WorkerLauncher().run(); } } }
int waitTime = 1; String processorName = TrackingEventProcessor.this.getName(); while (getState().isRunning()) { int[] tokenStoreCurrentSegments;
/** * Instructs the current Thread to sleep until the given deadline. This method may be overridden to check for * flags that have been set to return earlier than the given deadline. * <p> * The default implementation will sleep in blocks of 100ms, intermittently checking for the processor's state. Once * the processor stops running, this method will return immediately (after detecting the state change). * * @param millisToSleep The number of milliseconds to sleep */ protected void doSleepFor(long millisToSleep) { long deadline = System.currentTimeMillis() + millisToSleep; try { long timeLeft; while (getState().isRunning() && (timeLeft = deadline - System.currentTimeMillis()) > 0) { Thread.sleep(Math.min(timeLeft, 100)); } } catch (InterruptedException e) { logger.warn("Thread interrupted. Preparing to shut down event processor"); shutDown(); Thread.currentThread().interrupt(); } }
/** * Instructs the current Thread to sleep until the given deadline. This method may be overridden to check for * flags that have been set to return earlier than the given deadline. * <p> * The default implementation will sleep in blocks of 100ms, intermittently checking for the processor's state. Once * the processor stops running, this method will return immediately (after detecting the state change). * * @param millisToSleep The number of milliseconds to sleep */ protected void doSleepFor(long millisToSleep) { long deadline = System.currentTimeMillis() + millisToSleep; try { long timeLeft; while (getState().isRunning() && (timeLeft = deadline - System.currentTimeMillis()) > 0) { Thread.sleep(Math.min(timeLeft, 100)); } } catch (InterruptedException e) { logger.warn("Thread interrupted. Preparing to shut down event processor"); shutDown(); Thread.currentThread().interrupt(); } }
@Override public void run() { try { processingLoop(segment); } catch (Throwable e) { logger.error("Processing loop ended due to uncaught exception. Pausing processor in Error State.", e); state.set(State.PAUSED_ERROR); } finally { activeSegments.remove(segment.getSegmentId()); if (availableThreads.getAndIncrement() == 0 && getState().isRunning()) { logger.info("No Worker Launcher active. Using current thread to assign segments."); new WorkerLauncher().run(); } } }
@Override public void run() { try { processingLoop(segment); } catch (Throwable e) { logger.error("Processing loop ended due to uncaught exception. Pausing processor in Error State.", e); state.set(State.PAUSED_ERROR); } finally { activeSegments.remove(segment.getSegmentId()); if (availableThreads.getAndIncrement() == 0 && getState().isRunning()) { logger.info("No Worker Launcher active. Using current thread to assign segments."); new WorkerLauncher().run(); } } }
int waitTime = 1; String processorName = TrackingEventProcessor.this.getName(); while (getState().isRunning()) { int[] tokenStoreCurrentSegments;
int waitTime = 1; String processorName = TrackingEventProcessor.this.getName(); while (getState().isRunning()) { int[] tokenStoreCurrentSegments;