public synchronized void start ( ) { if ( running ) { log . atInfo ( ) . log ( "%s is already started" , this ) ; return ; } log . atInfo ( ) . log ( "starting %s" , this ) ; this . stopped = false ; this . running = true ; this . reportStopwatch . reset ( ) . start ( ) ; try { schedulerThread = threads . newThread ( new Runnable ( ) { @ Override public void run ( ) { scheduleFlushes ( ) ; } } ) ; schedulerThread . start ( ) ; } catch ( RuntimeException e ) { log . atInfo ( ) . log ( BACKGROUND_THREAD_ERROR ) ; schedulerThread = null ; initializeFlushing ( ) ; } }
Starts processing .