mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-03-25 01:19:02 +00:00
add memcached.enabled setting allowing to disable memcached even if its added as a plugin (by default, it is enabled)
This commit is contained in:
parent
fbc138e38c
commit
9a35ddcb61
@ -24,6 +24,7 @@ import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.Module;
|
||||
import org.elasticsearch.ElasticSearchException;
|
||||
import org.elasticsearch.env.Environment;
|
||||
import org.elasticsearch.util.component.AbstractComponent;
|
||||
import org.elasticsearch.util.component.CloseableIndexComponent;
|
||||
@ -258,8 +259,17 @@ public class PluginsService extends AbstractComponent {
|
||||
is = pluginUrl.openStream();
|
||||
pluginProps.load(is);
|
||||
String sPluginClass = pluginProps.getProperty("plugin");
|
||||
Class<?> pluginClass = settings.getClassLoader().loadClass(sPluginClass);
|
||||
Plugin plugin = (Plugin) pluginClass.newInstance();
|
||||
Class<? extends Plugin> pluginClass = (Class<? extends Plugin>) settings.getClassLoader().loadClass(sPluginClass);
|
||||
Plugin plugin;
|
||||
try {
|
||||
plugin = pluginClass.getConstructor(Settings.class).newInstance(settings);
|
||||
} catch (NoSuchMethodException e) {
|
||||
try {
|
||||
plugin = pluginClass.getConstructor().newInstance();
|
||||
} catch (NoSuchMethodException e1) {
|
||||
throw new ElasticSearchException("No constructor for [" + pluginClass + "]");
|
||||
}
|
||||
}
|
||||
plugins.put(plugin.name(), plugin);
|
||||
} catch (Exception e) {
|
||||
logger.warn("Failed to load plugin from [" + pluginUrl + "]", e);
|
||||
|
@ -22,6 +22,7 @@ package org.elasticsearch.memcached;
|
||||
import com.google.inject.Module;
|
||||
import org.elasticsearch.plugins.AbstractPlugin;
|
||||
import org.elasticsearch.util.component.LifecycleComponent;
|
||||
import org.elasticsearch.util.settings.Settings;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
@ -32,6 +33,12 @@ import static com.google.common.collect.Lists.*;
|
||||
*/
|
||||
public class MemcachedPlugin extends AbstractPlugin {
|
||||
|
||||
private final Settings settings;
|
||||
|
||||
public MemcachedPlugin(Settings settings) {
|
||||
this.settings = settings;
|
||||
}
|
||||
|
||||
@Override public String name() {
|
||||
return "memcached";
|
||||
}
|
||||
@ -42,13 +49,17 @@ public class MemcachedPlugin extends AbstractPlugin {
|
||||
|
||||
@Override public Collection<Class<? extends Module>> modules() {
|
||||
Collection<Class<? extends Module>> modules = newArrayList();
|
||||
modules.add(MemcachedServerModule.class);
|
||||
if (settings.getAsBoolean("memcached.enabled", true)) {
|
||||
modules.add(MemcachedServerModule.class);
|
||||
}
|
||||
return modules;
|
||||
}
|
||||
|
||||
@Override public Collection<Class<? extends LifecycleComponent>> services() {
|
||||
Collection<Class<? extends LifecycleComponent>> services = newArrayList();
|
||||
services.add(MemcachedServer.class);
|
||||
if (settings.getAsBoolean("memcached.enabled", true)) {
|
||||
services.add(MemcachedServer.class);
|
||||
}
|
||||
return services;
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user