0

我正在尝试为我的 api 网关中的所有请求添加全局超时。下面是我的路由bean:

@Configuration
public class DataserviceRoute {

    @Bean
    public RouteLocator customRouteLocator(RouteLocatorBuilder builder) {
        return builder.routes()
                .route("abc_service",
                        r -> r.path("/abc/**").uri("http://localhost:7010"))
                .route("def_service",
                        r -> r.path("/def/**").uri("http://localhost:8085"))
                .route("xyz_service",
                        r -> r.path("/xyz/**").uri("http://localhost:1800"))
                .build();
    }
}

如何为所有路由配置全局超时?

4

1 回答 1

0

我找到了我的答案。我将bean配置如下:

@Bean
    public RouteLocator customRouteLocator(RouteLocatorBuilder builder) {
        return builder.routes()
                .route(r -> r.path("/**")
                        .filters(f -> f.hystrix(config -> config.setName("appTimeout")))
                        .uri("http://localhost:8085")
                        .id("all_request"))
                .build();
    }

application.property并在文件中添加了一个属性:

hystrix.command.appTimeout.execution.isolation.thread.timeoutInMilliseconds: 30000
于 2018-12-20T11:17:10.553 回答