@ Override public void stopPlugins ( ) { // stop started plugins in reverse order Collections . reverse ( startedPlugins ) ; Iterator < PluginWrapper > itr = startedPlugins . iterator ( ) ; while ( itr . hasNext ( ) ) { PluginWrapper pluginWrapper = itr . next ( ) ; PluginState pluginState = pluginWrapper . getPluginState ( ) ; if ( PluginState . STARTED == pluginState ) { try { log . info ( "Stop plugin '{}'" , getPluginLabel ( pluginWrapper . getDescriptor ( ) ) ) ; pluginWrapper . getPlugin ( ) . stop ( ) ; pluginWrapper . setPluginState ( PluginState . STOPPED ) ; itr . remove ( ) ; firePluginStateEvent ( new PluginStateEvent ( this , pluginWrapper , pluginState ) ) ; } catch ( PluginException e ) { log . error ( e . getMessage ( ) , e ) ; } } } }
Stop all active plugins .