zoukankan      html  css  js  c++  java
  • feginclinet中设置hystrix的参数

    package com.example.demo;
    
    import com.netflix.hystrix.HystrixCommand;
    //import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand;
    import com.netflix.hystrix.HystrixCommandGroupKey;
    import com.netflix.hystrix.HystrixCommandProperties;
    
    import feign.Feign;
    import feign.Request;
    import feign.Retryer;
    import feign.Target;
    import feign.hystrix.HystrixFeign;
    import feign.hystrix.SetterFactory;
    import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.context.annotation.Scope;
    
    import java.lang.reflect.Method;
    
    @Configuration
    @ConditionalOnClass({ HystrixCommand.class, HystrixFeign.class })
    public class FeginConfiguration {
        public static int connectTimeOutMillis = 5000;//超时时间
        public static int readTimeOutMillis = 5000;
        @Bean
        public Request.Options options() {
            return new Request.Options(connectTimeOutMillis, readTimeOutMillis);
        }
    
        //自定义重试次数
        @Bean
        public Retryer feignRetryer(){
            Retryer retryer = new Retryer.Default(100, 1000, 4);
            return retryer;
        }
    
    
        //hystrix  超时时间
        @Bean
        public Feign.Builder feignHystrixBuilder() {
            return HystrixFeign.builder().setterFactory(new SetterFactory() {
                @Override
                public HystrixCommand.Setter create(Target<?> target, Method method) {
                    return HystrixCommand.Setter
                            .withGroupKey(HystrixCommandGroupKey.Factory.asKey(SchedualServiceHi.class.getSimpleName()))// 控制 RemoteProductService 下,所有方法的Hystrix Configuration
                            .andCommandPropertiesDefaults(
                                    HystrixCommandProperties.Setter().withExecutionTimeoutInMilliseconds(10000) // 超时配置
                            );
                }
            });
        }
    
    
    }
  • 相关阅读:
    不能选中EXCEL单元格直接复制内容到数据库
    trim c# .net
    Postion and AlignmentPoint
    format详解
    range()函数详解
    蓝桥杯,查找整数,python
    蓝桥杯,杨辉三角形,Python
    蓝桥杯,回文数,Python
    微信小程序页面间的数据传递和数据共享
    蓝桥杯,特殊回文数,Python
  • 原文地址:https://www.cnblogs.com/tiancai/p/9585023.html
Copyright © 2011-2022 走看看