Springboot整合Elasticsearch報錯
今天使用SpringBoot整合Elasticsearch時候,相關的配置完成后,啟動項目就報錯了。
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");
@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");
發現這樣可以解決我這邊的問題。
@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);
}
}