我是靠谱客的博主 能干冥王星,最近开发中收集的这篇文章主要介绍【SpringCloud】(十三):全局和单个禁用Feign Client对Hystrix的支持,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

  我们可以自定义配置Feign对Hystrix的支持。



  默认情况下:所有的Feign都支持Hystrix。但是我们可以自定义配置。

  全局禁用:在配置文件application.yml 中添加配置:feign.hystrix.enabled = false;

  当然我们也可以单个禁用。

  只需要在自定义的配置类中加入。

	@Bean
@Scope("prototype")
public Feign.Builder feignBuilder() {
return Feign.builder();
}


  因为:默认支持的是HystrixFeign.Builder.而通过配置之后,返回的是Feign.builder去掉了对Hystrix的支持。


自定义配置类AuthConfiguration 

package com.dynamic.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Scope;
import feign.Feign;
import feign.auth.BasicAuthRequestInterceptor;
@Configuration
public class AuthConfiguration {
@Bean
public BasicAuthRequestInterceptor basicAuthRequestInterceptor() {
return new BasicAuthRequestInterceptor("user", "pass123");
}
/**
* 为什么加上这段就让Feign禁用了Hystrix.
* Feign.Builder feignBuilder:HystrixHeign.Builder
*
* @return
*/
@Bean
@Scope("prototype")
public Feign.Builder feignBuilder() {
return Feign.builder();
}
}


FeignClient2

package com.dynamic.cloud.feign;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import com.dynamic.config.AuthConfiguration;
@FeignClient(name="xxx",url="http://localhost:8761/",configuration=AuthConfiguration.class,fallback =HystrixClientFallback2.class)
public interface FeignClient2 {
@RequestMapping(value="/eureka/apps/{serviceName}")
public String findServiceInfoFromEurekaByServiceName(@PathVariable("serviceName") String serviceName);
}


HystrixClientFallback2 
package com.dynamic.cloud.feign;
import org.springframework.stereotype.Component;
@Component
public class HystrixClientFallback2 implements FeignClient2 {
@Override
public String findServiceInfoFromEurekaByServiceName(String serviceName) {
System.out.println("禁用Feign");
return "haha";
}
}


最后

以上就是能干冥王星为你收集整理的【SpringCloud】(十三):全局和单个禁用Feign Client对Hystrix的支持的全部内容,希望文章能够帮你解决【SpringCloud】(十三):全局和单个禁用Feign Client对Hystrix的支持所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部