Merge pull request #16095 from s1monw/use_updated_settings_for_transport_client

TransportClient should use updated setting for initialization of modules and service
This commit is contained in:
Simon Willnauer 2016-01-19 18:03:47 +01:00
commit da699ceae2
1 changed files with 18 additions and 17 deletions

View File

@ -82,7 +82,7 @@ public class TransportClient extends AbstractClient {
*/ */
public static class Builder { public static class Builder {
private Settings settings = Settings.EMPTY; private Settings providedSettings = Settings.EMPTY;
private List<Class<? extends Plugin>> pluginClasses = new ArrayList<>(); private List<Class<? extends Plugin>> pluginClasses = new ArrayList<>();
/** /**
@ -96,7 +96,7 @@ public class TransportClient extends AbstractClient {
* The settings to configure the transport client with. * The settings to configure the transport client with.
*/ */
public Builder settings(Settings settings) { public Builder settings(Settings settings) {
this.settings = settings; this.providedSettings = settings;
return this; return this;
} }
@ -108,21 +108,22 @@ public class TransportClient extends AbstractClient {
return this; return this;
} }
private PluginsService newPluginService(final Settings settings) {
final Settings.Builder settingsBuilder = settingsBuilder()
.put(NettyTransport.PING_SCHEDULE, "5s") // enable by default the transport schedule ping interval
.put( InternalSettingsPreparer.prepareSettings(settings))
.put("network.server", false)
.put("node.client", true)
.put(CLIENT_TYPE_SETTING, CLIENT_TYPE);
return new PluginsService(settingsBuilder.build(), null, null, pluginClasses);
};
/** /**
* Builds a new instance of the transport client. * Builds a new instance of the transport client.
*/ */
public TransportClient build() { public TransportClient build() {
Settings settings = InternalSettingsPreparer.prepareSettings(this.settings); final PluginsService pluginsService = newPluginService(providedSettings);
settings = settingsBuilder() final Settings settings = pluginsService.updatedSettings();
.put(NettyTransport.PING_SCHEDULE, "5s") // enable by default the transport schedule ping interval
.put(settings)
.put("network.server", false)
.put("node.client", true)
.put(CLIENT_TYPE_SETTING, CLIENT_TYPE)
.build();
PluginsService pluginsService = new PluginsService(settings, null, null, pluginClasses);
this.settings = pluginsService.updatedSettings();
Version version = Version.CURRENT; Version version = Version.CURRENT;
@ -139,9 +140,9 @@ public class TransportClient extends AbstractClient {
modules.add(pluginModule); modules.add(pluginModule);
} }
modules.add(new PluginsModule(pluginsService)); modules.add(new PluginsModule(pluginsService));
modules.add(new SettingsModule(this.settings, settingsFilter )); modules.add(new SettingsModule(settings, settingsFilter ));
modules.add(new NetworkModule(networkService, this.settings, true, namedWriteableRegistry)); modules.add(new NetworkModule(networkService, settings, true, namedWriteableRegistry));
modules.add(new ClusterNameModule(this.settings)); modules.add(new ClusterNameModule(settings));
modules.add(new ThreadPoolModule(threadPool)); modules.add(new ThreadPoolModule(threadPool));
modules.add(new SearchModule(settings, namedWriteableRegistry) { modules.add(new SearchModule(settings, namedWriteableRegistry) {
@Override @Override
@ -150,7 +151,7 @@ public class TransportClient extends AbstractClient {
} }
}); });
modules.add(new ActionModule(true)); modules.add(new ActionModule(true));
modules.add(new CircuitBreakerModule(this.settings)); modules.add(new CircuitBreakerModule(settings));
pluginsService.processModules(modules); pluginsService.processModules(modules);