Hystrix熔断整合完成
This commit is contained in:
		@@ -4,6 +4,7 @@ import org.springframework.boot.SpringApplication;
 | 
			
		||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
 | 
			
		||||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
 | 
			
		||||
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
 | 
			
		||||
import org.springframework.cloud.netflix.hystrix.EnableHystrix;
 | 
			
		||||
import org.springframework.cloud.openfeign.EnableFeignClients;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@@ -13,6 +14,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
 | 
			
		||||
 * @author yovinchen
 | 
			
		||||
 * @Create 2023/8/14 16:25
 | 
			
		||||
 */
 | 
			
		||||
@EnableHystrix   //启用Hystrix
 | 
			
		||||
@SpringBootApplication
 | 
			
		||||
@EnableFeignClients
 | 
			
		||||
public class BorrowApplication {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,6 @@
 | 
			
		||||
package com.test.controller;
 | 
			
		||||
 | 
			
		||||
import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand;
 | 
			
		||||
import com.test.entity.UserBorrowDetail;
 | 
			
		||||
import com.test.service.BorrowService;
 | 
			
		||||
import org.springframework.web.bind.annotation.PathVariable;
 | 
			
		||||
@@ -8,6 +9,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
 | 
			
		||||
import org.springframework.web.bind.annotation.RestController;
 | 
			
		||||
 | 
			
		||||
import javax.annotation.Resource;
 | 
			
		||||
import java.util.Collections;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@@ -23,8 +25,16 @@ public class BorrowController {
 | 
			
		||||
    @Resource
 | 
			
		||||
    BorrowService service;
 | 
			
		||||
 | 
			
		||||
    @HystrixCommand(fallbackMethod = "onError")    //使用@HystrixCommand来指定备选方案
 | 
			
		||||
    @RequestMapping("/borrow/{uid}")
 | 
			
		||||
    UserBorrowDetail findUserBorrows(@PathVariable("uid") int uid){
 | 
			
		||||
        return service.getUserBorrowDetailByUid(uid);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    //备选方案,这里直接返回空列表了
 | 
			
		||||
    //注意参数和返回值要和上面的一致
 | 
			
		||||
    UserBorrowDetail onError(int uid){
 | 
			
		||||
        System.out.println("执行补救措施");
 | 
			
		||||
        return new UserBorrowDetail(null, Collections.emptyList());
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user