Spring Boot Application-什么是任何其余API端点的默认超时时间或用于控制所有端点超时的简单配置


问题内容

我正在使用当前的Spring引导版本(1.4.x),想知道它是否对api调用有任何默认超时。我已经通过设置断点对其进行了测试,但是它一直处于等待状态,并且没有超时。我还尝试通过使用一些注释或yml设置为所有春季启动应用程序配置默认超时。

我发现了几种替代方法(这里是其中一种),但实际上使用callable会添加额外的非业务逻辑代码,其中在xmlbean中设置某些内容在最新的Spring Boot应用程序中已经过时了。


问题答案:

我同意上述所有选项,并在我的Spring
Boot应用程序中尝试了以下选项。现在工作正常。下面是作为Bean的代码示例。现在只需要到我需要的@Autowire
RestTemplate任何地方java class

   @Bean
    public RestTemplate restTemplate() {
        RestTemplate restTemplate = new RestTemplate();
        ((SimpleClientHttpRequestFactory) restTemplate.getRequestFactory()).setConnectTimeout(15000);
        ((SimpleClientHttpRequestFactory) restTemplate.getRequestFactory()).setReadTimeout(15000);

        return restTemplate;
    }