java terminate_Java ThreadPool.terminate方法代码示例

import org.elasticsearch.threadpool.ThreadPool; //导入方法依赖的package包/类

/**

* Builds a new instance of the transport client.

*/

public TransportClient build() {

Settings settings = InternalSettingsPreparer.prepareSettings(this.settings);

settings = settingsBuilder()

.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;

final ThreadPool threadPool = new ThreadPool(settings);

NamedWriteableRegistry namedWriteableRegistry = new NamedWriteableRegistry();

boolean success = false;

try {

ModulesBuilder modules = new ModulesBuilder();

modules.add(new Version.Module(version));

// plugin modules must be added here, before others or we can get crazy injection errors...

for (Module pluginModule : pluginsService.nodeModules()) {

modules.add(pluginModule);

}

modules.add(new PluginsModule(pluginsService));

modules.add(new SettingsModule(this.settings));

modules.add(new NetworkModule(namedWriteableRegistry));

modules.add(new ClusterNameModule(this.settings));

modules.add(new ThreadPoolModule(threadPool));

modules.add(new TransportModule(this.settings, namedWriteableRegistry));

modules.add(new SearchModule() {

@Override

protected void configure() {

// noop

}

});

modules.add(new ActionModule(true));

modules.add(new ClientTransportModule());

modules.add(new CircuitBreakerModule(this.settings));

pluginsService.processModules(modules);

Injector injector = modules.createInjector();

final TransportService transportService = injector.getInstance(TransportService.class);

transportService.start();

transportService.acceptIncomingRequests();

TransportClient transportClient = new TransportClient(injector);

success = true;

return transportClient;

} finally {

if (!success) {

ThreadPool.terminate(threadPool, 10, TimeUnit.SECONDS);

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值