Agree with Vladimir. Start/stop order should be flexible. --Yakov
2015-07-07 10:03 GMT+03:00 Vladimir Ozerov <[email protected]>: > Igniters, > > Ignite allows external parties to add plugins. Currently plugins are > started at the very end of start process, and they are stopped before all > other components. > > This is a problem because sometimes we need to stop plugin AFTER all other > components. not BEFORE. E.g. consider a plugin which provides an > environment for custom cache store, and this store has "write-behind" > enabled. In this case we will stop plugin before write-behind store flushed > all data what leads to unexpected behavior. > > It seems that we must provide more callbacks so that plugins could be > notified both before and after all other components are started/stopped. > > I looked at the code and found that IgnitePluginProcessor is a very good > candidate for this - it starts very early and has access to all plugins. > What if we add the following methods to PluginProvider interface: > onPluginProcessorStart() - called from IgnitePluginProcessor.start(); > onPluginProcessorStop() - called from IgnitePluginProcessor.stop(). > > Vladimir. >
