บทความนี้แนะนำการสนับสนุน Hystrix ของ SpringCloud Feign และแบ่งปันกับคุณ รายละเอียดมีดังนี้:
1. เพิ่มทางเลือกของ Hystrix ให้กับไคลเอนต์แกล้งทำ
@feignClient (name = "springboot-h2", fallback = hystrixclientfallback.class) // ระบุอินเทอร์เฟซสาธารณะทางเลือกของเบรกเกอร์วงจรในคุณสมบัติทางเลือก userfeignclient {// @getMapping ("/ผู้ใช้/{id}") @requestmapping findById (@PathVariable ("id") id ยาว); @RequestMapping (value = "/ผู้ใช้", method = requestMethod.get) รายการ <user> findall (); @RequestMapping (value = "/post/user", method = requestMethod.post) ผู้ใช้บันทึก (@requestbody ผู้ใช้ผู้ใช้); -2. เขียนคลาส HystrixClientfallback
@Component // เข้าร่วม Spring Bean Public Class HystrixClientFallback ใช้ UserFeignClient {@Override ผู้ใช้สาธารณะ FindById (Long ID) {ผู้ใช้ U = ผู้ใช้ใหม่ (); U.SetName ("ชื่อชั่วคราว"); u.setusername ("ไม่ระบุชื่อ"); กลับคุณ; } @Override รายการสาธารณะ <user> findall () {return null; } @Override ผู้ใช้สาธารณะบันทึก (ผู้ใช้ผู้ใช้) {return null; -3. เข้าร่วมการสนับสนุน Hystrix
@enablecircuitbreaker
4. ทดสอบ
หากคุณไม่ได้เริ่มบริการที่ขึ้นอยู่กับเลเยอร์พื้นฐานเริ่มให้บริการโดยตรงจากนั้นทดสอบคุณจะพบว่าผลลัพธ์ในเบราว์เซอร์คือ:
{"id": null, "ชื่อผู้ใช้": "Anonymous", "Name": "ชื่อชั่วคราว", "อายุ": null, "Balance": Null}
แทนที่จะรายงานข้อยกเว้นตามที่จินตนาการไว้มันป้อนวิธี FindByID ในคลาส HystrixClientfallback
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น