我有一个SpringBoot应用程序,在这里我使用RestTemplate来调用另一个都在PCF上运行的微服务。 RestTemplate配置的套接字超时为2000ms。除此之外,还实现了断路器,以便在RestTemplate引发异常或收到Http响应4XX或5XX时调用回退方法。
现在,我将RestTemplate调用的应用程序配置为具有3000ms的手动延迟(Thread.sleep(3000))。在这种情况下,RestTemplate抛出SocketTimeoutException而不是Http 504网关超时。
为什么RestTemplate不抛出504? RestTemplate调用的服务器是否应该抛出504?