java报错 Read timeout,但是看日志明明没超时

接口A里面调接口B,看接口B打印的日志有返回结果且在设置的超时时间内,为啥接口A调用B的位置还是报超时错误read timeout??

有可能是网络延迟

可能是由于网络延迟或其它原因导致接口B返回结果耗时较长,导致接口A等待超时而抛出异常。

那是因为a的读取时间设置短了,b虽然正常返回了但是返回的时间超过了a设置的读取时间所以a报错了,可以在a发起请求时设置ReadTimeout