bug记录——设置了feign的fallback,但是没有生效

news2024/11/19 23:20:39

在这里插入图片描述

问题描述

在这里插入图片描述

feign的代码

package com.tianju.order.feign;

import com.tianju.order.feign.fallback.StorageFallback;
import com.tinaju.common.dto.GoodsDto;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;

@FeignClient(name = "storage-server",fallback = StorageFallback.class)
public interface StorageFeign {
    @GetMapping("/findByCode")
    GoodsDto findByCommodityCode(@RequestParam("code") String code);

    @GetMapping("/subByCode")
    boolean subByCommodityCode(@RequestParam("code") String code,
                               @RequestParam("nums") Integer nums);
}

feign的fallback方法

package com.tianju.order.feign.fallback;

import com.tianju.order.feign.StorageFeign;
import com.tinaju.common.dto.GoodsDto;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

@Component
@Slf4j
public class StorageFallback implements StorageFeign {
    @Override
    public GoodsDto findByCommodityCode(String code) {
        return null;
    }

    @Override
    public boolean subByCommodityCode(String code, Integer nums) {
        log.info("调用减库存方法失败,商品编码为{},数量为{}",code,nums);

        return false;
    }
}

在这里插入图片描述

问题分析

查了一下别人的解决方案,有些人说是要打开hystrix的支持

# 配置 Feign 远程调用
feign:
  hystrix:
    # 为 Feign 开启 Hystrix熔断机制,就可以使用回调
    enabled: true

我的配置文件里面确实没有加feig相关的依赖,但是我并没有是有hystrix,突然想到这个fallback既然是一个降级的方法,那必然需要有人负责调用它,而hystrix作为熔断降级的组件,应该就是负责这件事情的。

所以需要引入熔断降级的相关组件。

解决方案

我这里使用阿里巴巴的sentinel熔断降级工具,具体解决该问题的流程如下:

1.引入依赖

        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
        </dependency>

2.进行配置

在这里插入图片描述

spring:
  # 激活common模块的配置,关于nacos等
  profiles:
    active: common

  # 项目名
  application:
    name: order-service


# 打开阿里的 sentinel
feign:
  sentinel:
    enabled: true

3.解决结果

在这里插入图片描述

总结

1.需要引入依赖,比如Hystrix,或者sentinel这样的熔断降级的组件;
2.进行配置,打开feign的支持;
3.正确写注解:@FeignClient(name = “storage-server”,fallback = StorageFallback.class);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1116907.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

虹科分享 | 超低温冷冻箱温度分布验证的9步指南

虹科分享 | 超低温冷冻箱温度分布验证的9步指南 背景&#xff1a; 在生物制药行业&#xff0c;温度分布验证是确保对时间和温度敏感的产品在保证质量和安全的条件下储存和运输的关键步骤。这对于超低温冷冻箱尤为重要&#xff0c;因为超低温冷冻箱用于在低于 -60℃ 的温度下储…

[人工智能-综述-13]:第九届全球软件大会(南京)有感 -2-新型的云服务:AI即服务,传统的云服务:IaaS,PaaS,SaaS, DaaS

目录 一、传统的云服务 1.1 概述 1.2 从大数据云服务走向AI云服务 二、AI即服务&#xff1a;新型的云服务 1.1 概述 1.2 基于AI服务的应用程序 1.3 基于大语言模型的AI应用程序 1.4 AI 编程云服务平台 1.5 大模型在AI应用程序编程平台中的应用的主要思想 一、传统的…

LC-2316. 统计无向图中无法互相到达点对数(DFS、并查集)

2316. 统计无向图中无法互相到达点对数 中等 给你一个整数 n &#xff0c;表示一张 无向图 中有 n 个节点&#xff0c;编号为 0 到 n - 1 。同时给你一个二维整数数组 edges &#xff0c;其中 edges[i] [ai, bi] 表示节点 ai 和 bi 之间有一条 无向 边。 请你返回 无法互相…

微信小程序开发之会议OA首页后台数据交互(内带新知识点分享)

目录 前言 一、后台数据库交互 1.后台操作 1.1 导入会议OA后台项目 1.2 导入数据库文件以及配置数据库连接 1.3 启动后台验证是否拿到数据库数据 2. 前台操作 2.1 关闭mock.js 2.2 删除原有死数据及配置接口 2.3 定义函数访问获取后台数据 页面效果 二、利用工具类…

《深度学习推荐系统》王喆 笔记

这个笔记&#xff0c;是我记录的阅读该书&#xff0c;对我比较有用的一些点。不算是能完全覆盖全书知识点的笔记。 能完全覆盖全书知识点&#xff0c;比较详尽的笔记&#xff0c;可以参考如下。 《深度学习推荐系统》超级详细读书笔记https://www.zhihu.com/tardis/bd/art/44…

网安周报|OpenSSF 推出恶意软件包存储库

1.OpenSSF 推出恶意软件包存储库 为了应对恶意开源软件包日益增长的威胁&#xff0c;开源安全基金会 ( OpenSSF ) 推出了一项名为“恶意软件包存储库”的新计划。该存储库可能会成为打击恶意代码的主要参与者&#xff0c;旨在增强开源软件生态系统的安全性和完整性。该存储库已…

前端开发中遇到的复杂数据求和问题

在js中常用的数学计算库就是Math&#xff0c;但是Math库中没有能够进行求和的方法 那我们有两种解决办法 1.可以使用另外一种库&#xff1a;BigDecimal.js…或者可以去寻找更合适的库进行操作 2.使用reduce函数 首先我们的数据结构大概是这样子&#xff0c;detials里边的数据可…

软件工程与计算总结(二十三)软件工程职业基础

本系列最后一更&#xff0c;《软计》系列总结的大结局&#xff01;本栏目告一段落&#xff0c;之后会结合真题和练习题再发布新的总结~ 往期链接&#xff1a; 《软件工程与计算》总结 一.软件工程职业 1.行业的发展 20世纪50年代&#xff1a;计算机还是研究型机器&#xff…

STM32基于HAL库RT-Thread Demo测试

STM32基于HAL库RT-Thread Demo测试 &#x1f388;源码地址&#xff1a;https://github.com/RT-Thread/rt-thread/tree/master&#x1f4cc;基于STM32CUBEMX中间件安装《基于 CubeMX 移植 RT-Thread Nano》&#x1f4cd;环境搭建《使用 Env 创建 RT-Thread 项目工程》&#x1f5…

【QT开发(10)】QT 进程

运行一个进程 使用类 QProcess&#xff0c;允许将一个进程堪称一个顺序IO设备。 在Qt中&#xff0c;QProcess类是用于启动外部进程的类。它可以启动任何可执行文件&#xff0c;包括命令行工具和图形用户界面&#xff08;GUI&#xff09;应用程序。 启动一个线程分4步 1、在…

探索图像分割技术:使用 OpenCV 的分水岭算法

贾斯卡兰巴蒂亚 一、说明 图像分割是计算机视觉的一个基本方面&#xff0c;多年来经历了巨大的转变。这将是一系列三篇博客文章&#xff0c;深入研究三种不同的图像分割技术 - 1使用OpenCV的经典分水岭算法&#xff0c;2使用PyTorch实现的基于深度学习的UNet模型&#xff0c;3 …

httpd服务

文章目录 httpd服务1.安装httpd服务2.开启服务&#xff0c;设置服务开机自启立马生效&#xff0c;并查看服务状态3.查看监听端口4.关闭防火墙&#xff0c;设置防火墙开机不自启立马生效&#xff1b;关闭selinux5.写一个index.html文件&#xff0c;在真机浏览器访问测试效果6.查…

【活体检测】“深度学习驱动的人脸反欺诈检测系统:性能提升与多模型支持“

微调小视科技开源静默活体检测模型加载方式&#xff0c;性能提升8倍 I. 引言 在当今数字化时代&#xff0c;人脸反欺诈检测在各种应用中发挥着重要作用&#xff0c;从人脸识别到金融欺诈检测。为了满足不断增长的需求&#xff0c;深度学习技术已成为关键工具&#xff0c;但性…

openGauss学习笔记-105 openGauss 数据库管理-管理用户及权限-默认权限机制

文章目录 openGauss学习笔记-105 openGauss 数据库管理-管理用户及权限-默认权限机制 openGauss学习笔记-105 openGauss 数据库管理-管理用户及权限-默认权限机制 数据库对象创建后&#xff0c;进行对象创建的用户就是该对象的所有者。openGauss安装后的默认情况下&#xff0c…

PowerShell 实现email发送消息

前言 通过Windows powershel​​​​​​​l脚本实现邮件发送 前提条件 开启wmi,配置网卡,参考 脚本说明解释 配置SMTP服务器信息 $smtpServer = "smtp.qiye.163.com"$smtpPort = "25"$username = "XXXX@YOU_email"$password = "YOU_…

改造xxl-job适配nacos注册中心

xxl-job并没有对nacos、zookeeper这一类注册中心进行适配&#xff0c;所以需要进行改造。 改造目标 1.对调度器&#xff0c;需要能注册到nacos上&#xff0c;并且执行器管理里的 机器地址 能使用 lb://serviceName 这种地址 2.对执行器&#xff0c;需要能注册到nacos上&…

激活MacBook的时候有个“文件保险箱磁盘加密“的选项,要不要开启

背景 在激活MacBook的时候&#xff0c;如果填了Apple ID&#xff0c;就会有 “文件保险箱磁盘加密” 的选项&#xff0c;到底是开还是不开呢&#xff1f; 注意&#xff0c;如果激活时跳过Apple ID&#xff0c;则没这选项&#xff0c;可以后续在 “设置->安全性和隐私->文…

天鹰340亿(AquilaChat2-34B-16K)本地部署的解决方案

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

用WordCloud绘制词云

文章目录 初步认识基本参数掩模参数 初步认识 wordcloud是词云绘图模块&#xff0c;封装了WordCloud词云类&#xff0c;是词云的基本载体。在新建一个词云之后&#xff0c;通过generate装载用以生成词云的字符串&#xff0c;最后用to_file把词云图保存到文件中&#xff0c;例如…

TechSmith Camtasia Studio 23.3.2.49471 Crack

全新的Camtasia 2023.2 Camtasia Studio是专业的屏幕录像和视频编辑的软件套装。软件提供了强大的屏幕录像&#xff08;Camtasia Recorder&#xff09;、视频的剪辑和编辑&#xff08;Camtasia Studio&#xff09;、视频菜单制作&#xff08;Camtasia MenuMaker&#xff09;、视…