|
Re: Dynamic plugins notification [message #22730 is a reply to message #22686] |
Fri, 11 April 2003 17:04  |
Eclipse User |
|
|
|
Originally posted by: kduffey.marketron.com
Good stuff. Question, createExecutableExtension, does it create multiple
instances of the same class, or just one instance? In my engine I only
create a single instance. Basically, in the PluginClassLoader, any class
that is requested that belongs to a plugin must FIRST activate the plugin it
belongs to. This way, the plugin the class belongs to receives lifecycle
events. This goes for ANY class on its classpath, including any /lib
..jar/.zip files belonging to the plugin. I do check in my code to see if the
requesting class is instantiable from the Plugin (part of the engine) and if
it is I then create and activate it, otherwise if not (if its any class
other than the plugin lifecycle class that extends Plugin), it checks to see
if the plugin is already instantiated and if so, if it is active or not.
My thought is similar to your design in how dependent plugins would handle
deactivation and shutdown. Basically, the engine would notify any dependent
plugins if a plugin it depends on is deactivated or shut down, so that it
may clean up any refs to the plugin or any of its classes.
Is this the basic idea you are going after for Equinox?
"Pascal Rapicault" <pascal_rapicault@ca.ibm.com> wrote in message
news:b772s3$gar$1@rogue.oti.com...
> Hi,
>
> I've been putting together a new notification mechanism, which now
> differentiates various kinds of events (see
>
http://dev.eclipse.org/viewcvs/indextech.cgi/~checkout~/equi nox-home/dynamic
> Plugins/state_description.html).
>
> The details can be found in:
>
http://dev.eclipse.org/viewcvs/indextech.cgi/~checkout~/equi nox-home/dynamic
> Plugins/deactivatingPlugins.html
>
>
http://dev.eclipse.org/viewcvs/indextech.cgi/~checkout~/equi nox-home/dynamic
> Plugins/registryLifeCycle.html
>
> Waiting for your feedback, I'll keep on implementing,
>
> Best regards, good week end,
>
> PaScaL
>
>
>
|
|
|
Powered by
FUDForum. Page generated in 0.04549 seconds