jerry_sjtu jerry_sjtu - 8 days ago 5
Java Question

What's the difference between elasticsearch plugin and elasticsearch module?

Since both the classes in the modules subproject and plugins subproject of elasticsearch are subclass of Plugin, I am wondering the difference between elasticsearch plugin and elasticsearch module.

For example the lang-painless module

public final class PainlessPlugin extends Plugin implements ScriptPlugin


the lang-python plugin

public class PythonPlugin extends Plugin implements ScriptPlugin


Maybe there is no difference in their implemention, the guys in elastic company put the necessary classes in module subproject and unnecessary classes in plugin subproduct. I hope one of the developer of elasticsearch can explain it.

Answer

I got the answer from the source code of class InstallPluginCommand:

    /** The builtin modules, which are plugins, but cannot be installed or removed. */
    static final Set<String> MODULES;
Comments