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

时间:2019-03-28 11:29:58

标签: java

我在应用程序中使用Feign并设置了readTimeOut = 30000,但是有一些方法会调用其他应用程序以获取大量数据,因此将花费更多的时间,我该如何设置{{1 }}这些方法?

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分: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 {
 //..
}

并使用自定义配置(FooConfiguration.class)创建一个bean