Spring Cloud Gateway 和基于 recovery4j java 的配置面临的问题

问题描述

我正在尝试使用断路器设计模式创建一个 api 网关,当请求到达 api 网关微服务时,它会将请求重定向到特定的微服务 ,当那个微服务宕机时,它会执行回退方法

运行云网关微服务时收到以下错误消息

java.lang.IllegalArgumentException:找不到类 [org.springframework.boot.actuate.autoconfigure.health.HealthindicatorAutoConfiguration]

我的配置类在下面

public class GatewayConfiguration {

    @Bean
    public RouteLocator customrouteLocator(RouteLocatorBuilder builder) {


        return builder.routes()
                .route("order-route",predicateSpec -> predicateSpec.path("/order/apI/Orders/")
                        .filters(filter ->

                                filter.circuitBreaker(config -> config.setName("order-```circuit-breaker")
                                                                ```.setFallbackUri("forward:/orderfallback"))
                        )
                        .uri("lb://order-service/"))
                .build();
    }

    @Bean
    public Customizer<Resilience4JCircuitBreakerFactory> customizer(){
        return factory->factory.configureDefault(id-> new Resilience4JConfigBuilder(id)
                                                            .circuitBreakerConfig(CircuitBreakerConfig.ofDefaults())
                                                            .timeLimiterConfig(TimeLimiterConfig.custom()
                                                            .timeoutDuration(Duration
                                                                    .ofSeconds(2))
                                                                    .build())
                                                            .build());
    }

}


My Pom File is below

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        
        <dependency>
            <groupId>io.github.resilience4j</groupId>
            <artifactId>resilience4j-spring-boot2</artifactId>
            <version>1.1.0</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-webflux</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
        
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-circuitbreaker-resilience4j</artifactId>
        </dependency>
        

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>io.projectreactor</groupId>
            <artifactId>reactor-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.kafka</groupId>
            <artifactId>spring-kafka-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)