public static void scheduleWithFixedDelay ( final ScheduledExecutorService exec , final Duration initialDelay , final Duration delay , final Runnable runnable ) { scheduleWithFixedDelay ( exec , initialDelay , delay , new Callable < Signal > ( ) { @ Override public Signal call ( ) { runnable . run ( ) ; // (Exceptions are handled for us) return Signal . REPEAT ; } } ) ; }
Run runnable repeatedly with the given delay between calls after the given initial delay . Exceptions are caught and logged as errors .