Java 在elasticsearch中创建TransportClient时限制线程池中的线程数
我正在elasticsearch中创建一个TransportClient实例。下面是相同的代码。问题是,我试图降低传输客户端发起的线程池生成的线程数。但是我使用elasticsearch的设置总是用12个线程初始化线程池。请让我知道如何配置相同的线程以获得所需的线程Java 在elasticsearch中创建TransportClient时限制线程池中的线程数,java,multithreading,
elasticsearch,Java,Multithreading,
elasticsearch,我正在elasticsearch中创建一个TransportClient实例。下面是相同的代码。问题是,我试图降低传输客户端发起的线程池生成的线程数。但是我使用elasticsearch的设置总是用12个线程初始化线程池。请让我知道如何配置相同的线程以获得所需的线程 public static TransportClient getTransportClient(String ip, int port) { ImmutableSettings.Builder settings = Im
public static TransportClient getTransportClient(String ip, int port) {
ImmutableSettings.Builder settings = ImmutableSettings
.settingsBuilder();
settings.put("cluster.name", "elasticsearch");
settings.put("threadpool.bulk.type", "fixed");
settings.put("threadpool.bulk.size" ,5);
settings.put("threadpool.bulk.queue_size", 5);
settings.put("threadpool.index.type" , "fixed");
settings.put("threadpool.index.size" , 5);
settings.put("threadpool.index.queue_size" , 10);
settings.put("threadpool.search.type", "fixed");
settings.put("threadpool.search.size" ,5);
settings.put("threadpool.search.queue_size", 5);
settings.build();
TransportClient instance = new TransportClient(settings)
.addTransportAddress(new InetSocketTransportAddress(ip, port));
return instance;
}
试一试
归功于JanuZ,摘自有人能提出建议吗?你找到解决方案了吗?我还没有找到解决方案
Settings settings = ImmutableSettings.settingsBuilder()
.put("transport.netty.workerCount",NUM_THREADS)
.build();