一、簡單說一下目前的系統(tǒng)
1.注冊中心shop-eureka
2.網(wǎng)關(guān)shop-gateway
3.業(yè)務(wù)系統(tǒng)shop-business
4.用戶服務(wù)shop-user-center
二、問題,現(xiàn)在我是在shop-bussiness系統(tǒng)中使用feign調(diào)用shop-user-center的接口
1.shop-user-center

2.shop-business中的feign接口:

3.shop-business中的feign接口使用

可以看出在圖一中我設(shè)置sleep時間為7秒,最開始我自己不設(shè)置超時時間,在圖上調(diào)用的時候肯定是報超時錯誤:java.util.concurrent.TimeoutException: null。
三、設(shè)置超時
1.在shop-gateway的application.properties中添加配置,設(shè)置的ReadTimeout是8秒,網(wǎng)上看的,說是全局設(shè)置:
ribbon.ReadTimeout=8000
ribbon.ConnectTimeout=6000
測試結(jié)果:java.util.concurrent.TimeoutException: null
2.在shop-gateway中application.properties添加配置:
ribbon.ReadTimeout=8000
ribbon.ConnectTimeout=6000
測試結(jié)果:java.util.concurrent.TimeoutException: null
3.在調(diào)用方shop-business中application.properties添加配置:
ribbon.ReadTimeout=8000
ribbon.ConnectTimeout=6000
測試結(jié)果:java.util.concurrent.TimeoutException: null
4.在調(diào)用方shop-business中application.properties添加配置:
shop-user-center.ribbon.ReadTimeout=8000
shop-user-center.ribbon.ConnectTimeout=6000
測試結(jié)果:成功。
四、總結(jié)
1.feign是客戶端調(diào)用,shop-business是feignclient,所以在shop-business設(shè)置超時時間。
五、問題
1.如何設(shè)置全局超時時間?