在服务调用方启动类:
@EnableFeignClients(basePackages = "com.example.client.feign1",defaultConfiguration = FeignClientsConfiguration.class)
@EnableEurekaClient
@SpringBootApplication
public class ClientApplication {
public static void main(String[] args) {
SpringApplication.run(ClientApplication.class, args);
}
}
Feignclient接口:
@FeignClient(value = "FEIGN-CLIENT",configuration = Feignconfig.class,fallback = Fallback.class)
public interface FeignClient1 {
@GetMapping("/1")
String test();
}
Fallback类:
@Component
public class Fallback implements FeignClient1 {
@Override
public String test() {
return "hystrix";
}
}
Feignconfig:
@Configuration
public class Feignconfig {
@Bean
public Retryer feignRetryer(){
return new Retryer.Default(100,TimeUnit.SECONDS.toMillis(1),5);
}
}
Yml中添加:
feign:
hystrix:
enabled: true
之前一直不行,有两个问题:
1.启动类上的defaultConfiguration = FeignClientsConfiguration.class
2.Yml中的开启hystrix 虽然没有提示,也是黄色报警,但是必须有
没有启动类上的defaultConfiguration = FeignClientsConfiguration.class,会全部走熔断器。
没有 feign:hystrix:enabled: true 熔断器会不起作用。