Springboot版本为2.1.9.RELEASE
ElasticSearch 版本为 6.2.2
程序运行到这一步:
[on(2)-127.0.0.1] o.elasticsearch.plugins.PluginsService : loaded plugin [org.elasticsearch.transport.Netty4Plugin]
加载插件的时候就会出现:
Factory method ‘elasticsearchClient’ threw exception; nested exception is java.lang.IllegalStateException: availableProcessors is already set to [4], rejecting [4]
解决方式是在启动类类似以下配置
@SpringBootApplication
public class WebApplication {
public static void main(String[] args) {
System.setProperty("es.set.netty.runtime.available.processors", "false");
SpringApplication.run(WebApplication.class, args);
}
}
使用外置tomcat 配置的话就应该如下配置
@SpringBootApplication
public class WebApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(WebApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
System.setProperty("es.set.netty.runtime.available.processors", "false");
return builder.sources(WebApplication.class);
}
}