+1 On 8 Jul 2015 21:13, "Yakov Zhdanov" <[email protected]> wrote:
> 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. > > >
