[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[equinox-dev] dynamic plugins
- From: Mel Martinez <melm@xxxxxxxxxx>
- Date: Thu, 13 May 2004 11:47:18 -0400
- Delivered-to: email@example.com
Please excuse me if this has been addressed already. In which case just
point me to the relevant info.
As we move forward, I believe it is a generally accepted goal that we want
to be able to support 'live' install/update of plugins in the platform
instead of having to restart when we change the configuration. And in a
sense we already can do that, with care.
One of the hurdles to overcome to make this a reality is the fact that
individual plugins themselves sometimes may need to be rewritten in order
to be 'dynamic'. That is, they need to be a) able to startup/shutdown
independent of the platform lifecycle and b) either insulated against
changes to the configuration or appropriately responsive to changes via
When a configuration is changed, currently we just assume (rightly so) that
many if not most plugins will not meet these conditions and simply do a
In the future, how do we know that all plugins meet these conditions?
It seems we should have an attribute added to the eclipse plugin.xml that
indicates a plugin is 'dynamic', that it says it can work just fine with
dynamic changes to the configuration. The way things would work then is
that, upon a configuration change, before ordering the the platform
restart, we would look at all the plugins in the new configuration. If ALL
of them had 'dynamic="true"', then we would simply do the appropriate
install/uninstalls to realize the new configuration. If any of the plugins
did not have this set, we would do a restart.
This is probably an oversimplification. My main concern here is that I
think we need to have some indication in the plugin.xml that indicates
compatibility with dynamic configuration changes. This is a packaging
issue that I need to start getting into plan for us.