public void startMonitoring()
    {
        // See if we're in development mode. If so, check for new plugins once every 5 seconds Otherwise, default to every 20 seconds.
        if ( Boolean.getBoolean( "developmentMode" ) )
        {
            monitorTaskScheduledFuture = executor.scheduleWithFixedDelay( new MonitorTask(), 0, 5, TimeUnit.SECONDS );
        }
        else
        {
            monitorTaskScheduledFuture = executor.scheduleWithFixedDelay( new MonitorTask(), 0, JiveGlobals.getIntProperty( "plugins.loading.monitor.interval", 20 ), TimeUnit.SECONDS );
        }
    }
Start periodically checking the plugin directory.
xmppserver/src/main/java/org/jivesoftware/openfire/container/PluginMonitor.java