今天使用SpringBoot整合Elasticsearch时候,相关的配置完成后,启动项目就报错了。java
nested exception is java.lang.IllegalStateException: availableProcessors is already set to [4], rejecting [4]
我网上查询了一下,有人是是由于整合了Redis的缘由。可是我把Redis相关的配置去掉后,问题仍是没有解决,最后有人说是由于netty冲突的问题。
也有人给出了解决方式就是在项目初始化钱设置一下一个属性。在初始化以前加上System.setProperty(“es.set.netty.runtime.available.processors”, “false”);spring
@Configuration public class ElasticSearchConfig { @PostConstruct void init() { System.setProperty("es.set.netty.runtime.available.processors", "false"); } }
我按照这种方法仍是没有解决我这边项目的问题。
最后我直接把System.setProperty(“es.set.netty.runtime.available.processors”, “false”);
发现这样能够解决我这边的问题。springboot
@SpringBootApplication public class EurekaBussnissServiceUserApplication { public static void main(String[] args) { // System.out.println("==========================================="); /** * Springboot整合Elasticsearch 在项目启动前设置一下的属性,防止报错 * 解决netty冲突后初始化client时还会抛出异常 * java.lang.IllegalStateException: availableProcessors is already set to [4], rejecting [4] */ System.setProperty("es.set.netty.runtime.available.processors", "false"); SpringApplication.run(EurekaBussnissServiceUserApplication.class, args); } }