When the core server starts up, first all plugins have their {@link #startPlugin(PluginDefinition,ExtensionDescriptor,Element)}method called. Any plugins which throw an exception at this point are discarded and will not be available for the remaining lifetime of the server.
Any plugins that successfully initialised are then checked to see if the have been used before. If they haven't then the {@link #installPlugin()} methodis invoked. Here the plugin may perform any one-off tasks such as adding default resources.
Next, the {@link #activatePlugin()} method is called.
When the server shuts down, the {@link #canStopPlugin()} method is called,if this is true
then the {@link #stopPlugin()} method is called.
Plugins are defined in the Extension Description for the extension they are part of. Information required for plugin includes the fully qualified class name of this interface implementation, sort order, names and descriptions and dependencies.
|
|