public interface Plugin
Components
to implement
additional features in the XMPP protocol.
plugins
directory of home
. Plugins
that are packaged as JAR files will be automatically expanded into directories. A
plugin directory should have the following structure:
[pluginDir] |-- plugin.xml |-- classes/ |-- lib/The
classes
and lib
directory are optional. Any files in the
classes
directory will be added to the classpath of the plugin, as well
as any JAR files in the lib
directory. The plugin.xml
file is
required, and specifies the className of the Plugin implementation. The XML file
should resemble the following XML:
<?xml version="1.0" encoding="UTF-8"?> <plugin> <class>org.example.YourPlugin</class> <name>Example Plugin</name> <description>This is an example plugin.</description> <author>Foo Inc.</author> <version>1.0</version> <minServerVersion>3.0.0</minServerVersion> <licenseType>gpl</licenseType> </plugin>
Each plugin will be loaded in its own class loader, unless the plugin is configured with a parent plugin.
Please see the Plugin Developer Guide (available with the Openfire documentation) for additional details about plugin development.Modifier and Type | Method and Description |
---|---|
void |
destroyPlugin()
Destroys the plugin.
|
void |
initializePlugin(PluginManager manager,
File pluginDirectory)
Initializes the plugin.
|
void initializePlugin(PluginManager manager, File pluginDirectory)
manager
- the plugin manager.pluginDirectory
- the directory where the plugin is located.void destroyPlugin()
Implementations of this method must release all resources held by the plugin such as file handles, database or network connections, and references to core Openfire classes. In other words, a garbage collection executed after this method is called must be able to clean up all plugin classes.
Copyright © 2003–2019 Ignite Realtime. All rights reserved.