弹性4j + spring boot 2 + EndpointAutoConfiguration 类未找到异常

Posted

技术标签:

【中文标题】弹性4j + spring boot 2 + EndpointAutoConfiguration 类未找到异常【英文标题】:resilience4j + spring boot 2 + EndpointAutoConfiguration class not found exception 【发布时间】:2020-03-10 01:58:07 【问题描述】:

Resilience4j 版本:1.1.0

Java 版本:1.8

春季启动:2.2.0

我正在尝试使用 Spring Boot 项目配置 Resilience4j,但未找到以下类别

org.springframework.boot.SpringApplication:应用程序运行失败 java.lang.IllegalArgumentException:找不到类 [org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration] 在 org.springframework.util.ClassUtils.resolveClassName(ClassUtils.java:327)

Java代码如下

@RateLimiter(name ="service1",fallbackMethod = "rateLimiterfallback")
    @PostMapping(value = "$URL_AUTH")
    public ResponseEntity<AuthRespDTO> fetchToken(@RequestParam("userId") String Id, @RequestParam("password") String pwd, HttpServletRequest httpRequest)  
    

application.yml 如下

resilience4j.ratelimiter:
    instances:
    service1:
      limitForPeriod: 1
      limitRefreshPeriod: 100000
      timeoutDuration: 1000ms

我在 POM.xml 中提到了以下依赖项。

<dependency>
    <groupId>io.github.resilience4j</groupId>
    <artifactId>resilience4j-spring-boot2</artifactId>
    <version>1.1.0</version>
</dependency>

<dependency>
    <groupId>io.github.resilience4j</groupId>
    <artifactId>resilience4j-ratelimiter</artifactId>
    <version>1.1.0</version>
</dependency>

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-actuator</artifactId>
    <version>2.2.0.RELEASE</version>
</dependency>

请帮我解决问题。

【问题讨论】:

请出示您的代码 Resilience4j 是针对 Spring Boot 2.1.4 构建的,2.2.x 包含重大更改,通常无法正常工作。您必须等待 2.2 支持或自己进行配置。另外,请将您的依赖项添加为代码而不是图像。 我能够解决这个问题,它需要 spring-boot-starter-actuator 和 spring-boot-starter-aop 来解决问题。 【参考方案1】:

要解决此问题,您必须使用 spring-boot-starter-actuatorspring-boot-starter-aop 依赖项更新 POM。

目前你有一个spring-boot-actuator的依赖,应该更新为spring-boot-starter-actuator

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-aop</artifactId>
    <version>2.3.0.RELEASE</version>
</dependency>

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
    <version>2.3.2.RELEASE</version>
</dependency>

注意:Spring Boot 的发布版本取决于您的项目。

Similar issue reference

【讨论】:

以上是关于弹性4j + spring boot 2 + EndpointAutoConfiguration 类未找到异常的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot 应用系列 4 -- Spring Boot 2 整合log4j2

spring boot 2.0 neo4j 使用

Apache Log4j任意代码执行漏洞修复 spring-boot-starter-log4j2

Spring boot 配置 log4j2.xml

Spring-Boot-strater-log4j2怎么修复漏洞

spring boot 2 集成 resilience4j