private synchronized void start() {
        // only reschedule if monitor is still active (not in the process of being initialized or destroyed
        // don't schedule a task if there are no monitors or the monitorInterval was set to 0
        // don't schedule a task if the framework is stopping
        if (scheduledFuture == null
            && monitorState.get() == MonitorState.ACTIVE.ordinal()
            && !updateMonitors.isEmpty()
            && monitorInterval != 0
            && FrameworkState.isValid()) {
            if (TraceComponent.isAnyTracingEnabled() && tc.isEventEnabled()) {
                Tr.event(this, tc, "Scan task scheduled");
            }
            scheduledFuture = coreService.getScheduler().scheduleWithFixedDelay(this, monitorInterval, monitorInterval, monitorTimeUnit);
        }
    }
private synchronized void start ( ) { if ( scheduledFuture == null && monitorState . get ( ) == MonitorState . ACTIVE . ordinal ( ) && ! updateMonitors . isEmpty ( ) && monitorInterval != 0 && FrameworkState . isValid ( ) ) { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEventEnabled ( ) ) { Tr . event ( this , tc , "Scan task scheduled" ) ; } scheduledFuture = coreService . getScheduler ( ) . scheduleWithFixedDelay ( this , monitorInterval , monitorInterval , monitorTimeUnit ) ; } }
Start monitoring the file collection