开发时本地feign调式技巧,feign重试配置

2022-07-25,,,,

文章目录

  • 本地调试时指定feign调用url

本地调试时指定feign调用url

@Component
@Data
public class debug {
    /**
     * 测试 Feign
     */
    public static void initConfigFeign() {
        // 设置全局变量指定url,可以根据自己需求配置多个
        System.setProperty("config.debug.url.test", "http://127.0.0.1:8081");
        // 设置本地项目启动后不注册到eureka上
        System.setProperty("eureka.client.register-with-eureka", "false");
    }

    public static boolean getDebug() {
        // 我的系统是windows时候上述配置生效,看你系统自己调就行,因为我的服务器都是linux.  本机调试才需要上面的配置生效
        String os = System.getProperties().getProperty("os.name");
        return (null != os && os.toLowerCase().contains("windows"));
    }
}
// url关联到上面配置中的url
@FeignClient(value = "user-test",url = "${config.debug.url.test}",configuration ={FeignConfig.class})
@Configuration
@Slf4j
public class FeignConfig {
    /**
     * 配置请求重试
     * 第三个参数可以设置重试次数,按自己需求来就行,设置0不重试
     */
    @Bean
    public Retryer feignRetryer() {
        log.info("feignConfig....>>>>feignRetryer...........");
        return new Retryer.Default(200, 200, 0);
    }

    /**
     * 设置请求超时时间
     * 默认
     * public Options() {
     * this(10 * 1000, 60 * 1000);
     * }
     */
    @Bean
    Request.Options feignOptions() {
        return new Request.Options(5 * 1000, 60 * 1000);
    }
    
    /**
     * 关闭feign重试
     */
    @Bean
    public Feign.Builder feignBuilder() {
        return Feign.builder().retryer(Retryer.NEVER_RETRY);
    }
    
    /**
     * 打印请求日志
     * NONE,无记录(DEFAULT)
     * BASIC,只记录请求方法和URL以及响应状态代码和执行时间
     * HEADERS,记录基本信息以及请求和响应标头
     * FULL,记录请求和响应的头文件,正文和元数据
     * @return
     */
    @Bean
    public Logger.Level multipartLoggerLevel() {
        return Logger.Level.FULL;
    }
}

本文地址:https://blog.csdn.net/xiaoqiqilang/article/details/112211269

《开发时本地feign调式技巧,feign重试配置.doc》

下载本文的Word格式文档,以方便收藏与打印。