public void start ( final TimeAware receiver ) { //This starts itself up again every 1/2 second if something really bad //happens like disk full. As soon as the problem gets corrected //then things start working again...happy day. Only // one is running per instance of CollectionManagerImpl. writerFuture = scheduledExecutorService . scheduleAtFixedRate ( new Runnable ( ) { @ Override public void run ( ) { processWrites ( ) ; } } , 0 , 500 , TimeUnit . MILLISECONDS ) ; startMonitor ( ) ; tickTock = this . scheduledExecutorService . scheduleAtFixedRate ( new Runnable ( ) { @ Override public void run ( ) { long time = System . nanoTime ( ) / 1_000_000 ; if ( receiver != null ) { receiver . tick ( time ) ; } tick ( time ) ; } } , 0 , 20 , TimeUnit . MILLISECONDS ) ; }
Starts up the batch writer .