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

本地调试时指定本地windows启动的feign调用,屏蔽测试环境的服务干扰

@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"));
    }
}
@SpringBootApplication
@EnableFeignClients
public class TestApplication{
	// 要在启动类加载上面的配置
    public static void main(String[] args) {
        if (Debug.getDebug()) {
            Debug.initConfigFeign();
        }

        SpringApplication.run(TestApplication.class, args);
    }

}
// 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;
    }
}
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值