首页 > 其他分享 >OpenFeign 定义后备工厂进行服务降级

OpenFeign 定义后备工厂进行服务降级

时间:2024-05-08 18:13:07浏览次数:12  
标签:降级 定义 OpenFeign id 工厂 后备 public

OpenFeign 定义后备工厂进行服务降级可以使得远程接口调用失败时进行降级处理,而不会直接报错,影响后续代码逻辑。定义后备工厂的步骤如下:

  1. 远程接口处定义。

    @FeignClient(value = ServiceConstants.SYSTEM, fallbackFactory = RemoteFileFallbackFactory.class)
    public interface RemoteFileService {
    
        /**
         * 使文件生效
         * @param id 文件ID
         * @return 结果
         */
        @PutMapping("file/enable/{id}")
        BaseResult<Boolean> enable(@PathVariable("id") Long id);
    }
    
  2. 定义后备工厂。

    @Slf4j
    @Component
    public class RemoteFileFallbackFactory implements FallbackFactory<RemoteFileService> {
        
        @Override
        public RemoteFileService create(Throwable cause) {
            
            log.error("远程文件服务:{}", cause.getMessage());
            return new RemoteFileService() {
                
                @Override
                public BaseResult<Boolean> enable(Long id) {
                    
                    return BaseResult.fail();
                }
            };
        }
    }
    
  3. 自动导入后备工厂。

    resource/META-INF/spring下的org.springframework.boot.autoconfigure.AutoConfiguration.imports

    中进行定义:

    com.sevnce.base.api.service.system.factory.RemoteFileFallbackFactory
    

标签:降级,定义,OpenFeign,id,工厂,后备,public
From: https://www.cnblogs.com/skysailstar/p/18180504

相关文章

  • 如何基于surging跨网关跨语言进行缓存降级
    概述      surging是一款开源的微服务引擎,包含了rpc服务治理,中间件,以及多种外部协议来解决各个行业的业务问题,在日益发展的今天,业务的需求也更加复杂,单一语言也未必能抗下所有,所以在多语言行业解决方案优势情况下,那么就需要多语言的协同研发,而对于协同研发环境下,统一配置......
  • 威联通NAS强制降级解决系统崩溃问题
    V1.02024年5月3日序言正文:解决方法通过SSH强制降级重装(远程、局域网)通过QFinder重置(局域网内有可用主机)参考链接序言威联通的系统不要轻易更新,特别是PublicBeta版本,有一定概率遇到bug,有一定概率变砖,这里的“变砖”不是指完全无法访问,而是图形化界面无法加载,输入账户名称后就会......
  • 微服务:openFeign
    openFeign是一个声明式http客户端。作用:基于springMVC常见注解,帮我们更优雅的实现http请求引入依赖<!--openFeign--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></d......
  • kylin V10 SP3将openssl降级到1.0.2u
    前言kylinV10SP3的openssl版本较高OpenSSH_9.5p1,OpenSSL1.1.1f 31Mar2020,程序编译环境必须是OpenSSL1.0.2,故需要降级,记录一下。下载安装包下载openssl1.0.2u安装#解压tarzxvfopenssl-1.0.2u.tar.gz#安装cdopenssl-1.0.2u./config--prefix=/usr/local/sslmak......
  • SpingBoot项目Tomcat假死,导致http(openfeign)请求无法响应问题定位
    项目简介:<spring-boot.version>2.3.2.RELEASE</spring-boot.version><spring-cloud.version>Hoxton.SR12</spring-cloud.version>使用docker进行项目部署问题描述:项目中代码中大量使用异步多线程操作,没个异步过程中大量掺杂数据库查询、Redis查询、Feign调用、RabbitMq发送接收......
  • "NU1605: 错误形式的警告: 检测到包降级"的解决办法
    这两行的意思是需要我们升级Maui.Controls的版本在8.0.14,取高版本。同理,再次进行:最后:......
  • OpenFeign 维护状态 和 HTTP客户端 @HttpExchange
    OpenFeign维护状态OpenFeign还在维护吗?根据提供的搜索结果,OpenFeign(SpringCloudOpenFeign)是一个由Spring官方推出的声明式服务调用与负载均衡组件。它是对Feign的二次封装,不仅继承了Feign的所有功能,还增加了对SpringMVC注解的支持。Feign本身在2019年由Netflix公司......
  • 【OpenFeign】@FeignClient 代理对象的创建源码分析
    1 前言我们从上节 【OpenFeign】@FeignClient注入过程源码分析 继续,来看看它代理对象的创建,以及请求的执行过程。我们就从它的 FeignClientFactoryBean看起,那我们这里简单回忆下它都设置了哪些属性,我简单画了个图。这些属性不了解的话,就先看看上节哈,有详细的说明,我这里......
  • 【OpenFeign】@FeignClient 注入过程源码分析
    1 前言微服务之间的调用,OpenFeign是一种选择,并且还提供了很多功能,比如我们有多个节点,它能负载均衡,当服务发生异常时,它还能提供熔断机制。所以它是怎么实现的,因为我们平时只需要写@FeignClient是个接口,所以它势必会走代理,所以是不是要从我们的@FeignClient 下手。那么这节......
  • 限流、熔断、降级
    目录一、限流-熔断-降级介绍1.1限流1.1.1限流指标TPSHPSQPS1.1.12限流方法流量计数器滑动时间窗口漏桶算法令牌桶算法1.2熔断1.2.1断路器的状态1.2.2需要考虑的问题1.2.3使用场景1.3降级1.4总结二、熔断限流技术选型2.1Hystrix2.2sentinel2.2.1Sentinel历史2.2.2Sent......