问题复现
最近在工作中遇到了一个问题,在使用RestTemplate调用接口的时候出现了报错I/O error on POST request for "http://crmjob.xxx.xxx.com/removeJob": Read timed out; nested exception is java.net.SocketTimeoutException: Read timed out,
问题分析
对于这个问题的出现,一时也是没有方向,这个功能没动过但是突然出现这样的报错,于是把调用的开发环境的接口拿出来放在浏览器或者postman上面调用都是没有问题的
而通过RestTemplate的调用却会报错I/O error on POST request for。
处理方案
查阅了网上的解决方案,说添加证书什么的,但是我们的是http请求,并不需要证书,于是此方案不可行。后又查阅了其他解决方案,说由于RestTemplate调用需要配置容器属性 VM options
-Djava.net.preferIPv4Stack=true
那么配置本地springboot项目的 VM options后重启项目尝试
再次进行尝试之后就可以了