仅为一种方法设置FeignClient或功能区

问题描述 投票:0回答:2

我在我们的应用程序中使用Feign并设置readTimeOut = 30000,但是有一些方法会调用其他应用程序来获取大量数据,所以它将花费更多时间,如何为这些方法设置readTimeOut

java
2个回答
0
投票

你查过这个页面了吗?:

https://github.com/OpenFeign/feign/issues/590

在这里你可以找到一个例子,其中一个Feign用户在ConfigurationManager的初始化中使用超时:

ConfigurationManager.getConfigInstance()
                .setProperty("hystrix.command.PhotoService#getToken(String,String,String).execution.isolation.thread.timeoutInMilliseconds", 7000);
 return Feign.builder()
                .decoder(new GsonDecoder())
                .encoder(new GsonEncoder())
                .options(new Request.Options(config.getConnectTimeoutMillis(), config.getReadTimeoutMillis()))
                .target(PhotoService.class, baseUrl);

0
投票

您可以为特定的FeignClien创建自定义配置

更多细节在这里:https://cloud.spring.io/spring-cloud-netflix/multi/multi_spring-cloud-feign.html#spring-cloud-feign-overriding-defaults

例如:

@FeignClient(name = "stores", configuration = FooConfiguration.class)
public interface StoreClient {
 //..
}

并创建一个自定义配置的bean(FooConfiguration.class

© www.soinside.com 2019 - 2024. All rights reserved.