我在我们的应用程序中使用Feign并设置readTimeOut = 30000
,但是有一些方法会调用其他应用程序来获取大量数据,所以它将花费更多时间,如何为这些方法设置readTimeOut
?
你查过这个页面了吗?:
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);
您可以为特定的FeignClien创建自定义配置
例如:
@FeignClient(name = "stores", configuration = FooConfiguration.class)
public interface StoreClient {
//..
}
并创建一个自定义配置的bean(FooConfiguration.class
)