spring-data-elasticsearch与netty版本冲突问题

在Spring Boot项目中整合Spring Data Elasticsearch时遇到版本冲突问题,具体表现为`java.lang.IllegalStateException`,原因是与项目中引入的Netty版本冲突。解决方案包括在`application.properties`中添加配置以解决问题,但此方法不够优雅。尝试通过配置类或YML文件解决,但未找到有效方法。最终,测试类运行时同样遇到该问题,而将项目打包为jar运行时,使用某些解决方案会导致启动失败。2020年3月23日的更新提出了新的解决办法,即修改jar包运行方式,确保jar启动时能正确扫描到`@Configuration`注解的内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

具体问题是java.lang.IllegalStateException: availableProcessors is already set to [8], rejecting [8]

注:项目是springcloud-alibaba,es版本是6.6

springboot整合elasticsearch中使用到了spring-data-elasticsearch,之前自己写demo的时候没有问题,但加到项目中时出现以上问题,归根结底是跟项目本身引入的netty有版本冲突问题
解决方案一
最简单直接且行之有效的方法是在application中添加一行代码

public class XXXApplication {
    public static void main(String[] args) {
        //初始化启动,解决 java.lang.IllegalArgumentException:availableProcessors is already set to [8], rejecting [8]
        System.setProperty("es.set.netty.runtime.available.processors", "false");
        SpringApplication.run(XXXApplication .class, args);
    }
}

这个方法可行,但是怎么看都不大优雅,于是当时继续找解决方案,既然是System.setProperty,那么至少还有两种解决方案,第一个是写配置类即@Configuration的方式,但是几乎全网找遍也没一个可用的配置类。。。也怪自己对框架的认知不深,那么还有一个方案,就是在yml或者prop

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值