Plugins
Extending Ignite features with custom plugins.
This is a legacy Apache Ignite documentationThe new documentation is hosted here: https://ignite.apache.org/docs/latest/
Overview
Ignite plugin system allows third parties to extend the core functionality of Ignite.
To add a custom plugin, implement the PluginProvider interface and register the implementation either via IgniteConfiguration.setPluginProviders() or service loader.
Plugin Provider
PluginProvider<PluginConfiguration> implementation is the work-horse of the newly added plugin. It creates the plugin on node start-up. This interface has lots of methods that can be implemented or left empty based on user needs. However, name() and plugin() methods must not be null.
public class MyPluginProvider implements PluginProvider<PluginConfiguration> {
@Override
public String name() {
return "IGNITE";
}
@Override
public <T extends IgnitePlugin> T plugin() {
return (T)new MyPlugin();
}
@Nullable
@Override
public <T> T createComponent(PluginContext pluginContext, Class<T> aClass) {
return null;
}
// Other methods can be no-op
}The three important methods of the PluginProvider<PluginConfiguration> interface are:
name()- name of the plugin.plugin()- creates the plugin.createComponent()- This method allows creating components already known by Ignite, such as - data snapshots, grid security, node discovery, and cross-platform support for 3rd party Java APIs.
Load Plugin Provider
Ignite plugins are loaded using the ServiceLoader class of JDK. For the plugin provider to be loaded, create a file with the name org.apache.ignite.plugin.PluginProvider in the META_INF folder,
and provide the name of the plugin provider implementation in that file.
Ignite.NET pluginSee https://apacheignite-net.readme.io/docs/plugins for Ignite.NET plugin documentation.
Updated 11 months ago
