springcloud feign 服务调用其他服务_springCloud微服务项目 构建公共的feign调用
在微服务项目中加入有一个微服务的接口,很多其他的微服务都需要调用它,那么我们可以写在公共的项目中,而不需要每个微服务都建立一个相应 的feign
1.先在common 公共项目中建一个公共feign调用的接口(注意这儿用的是fallbackFactory,而不是fallback)
2.然后定义一个降级处理的类 (实现FallbackFactory)用来构建公共调用的接口
3.然后在resource目录下创建META-INF/spring.factories
(这是一个springboot默认创建bean的文件)内容是:
org.springframework.boot.autoconfigure.EnableAutoConfiguration=
com.xxx.factory.DataProducerFallbackFactory,
com.xxx.util.IdWorker,
com.xxx.util.LogUtil,
com.xxx.exception.GlobalExceptionHandler
只需要将DataProducerFallbackFactory 加入spring容器中,因为接口已经在DataProducerFallbackFactory 类中new出并使用。
4.在common项目下再自定义一个feign调用的注解
import org.springframework.cloud.openfeign.EnableFeignClients;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;/** * 自定义feign注解 * 添加basePackages路径 * * @author lhm */
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@EnableFeignClients
public @interface EnableCommonFeignClients
{
String[] value() default {};
String[] basePackages() default { "http://com.xxx" };//这里添加自己项目的包扫描路径
Class<?>[] basePackageClasses() default {};
Class<?>[] defaultConfiguration() default {};
Class<?>[] clients() default {};
}
5.最后在其他微服务的启动类中添加该自定义注解:
就可以在其他微服务直接使用( Autoware )这个公共的feign调用了。
springcloud feign 服务调用其他服务_springCloud微服务项目 构建公共的feign调用相关推荐
- 微服务调用传string值_springCloud微服务项目 构建公共的feign调用
在微服务项目中加入有一个微服务的接口,很多其他的微服务都需要调用它,那么我们可以写在公共的项目中,而不需要每个微服务都建立一个相应 的feign 1.先在common 公共项目中建一个公共feign调 ...
- SpringCloud(第 016 篇)电影微服务,定制Feign,一个Feign功能禁用Hystrix,另一个Feign功能启用Hystrix...
2019独角兽企业重金招聘Python工程师标准>>> SpringCloud(第 016 篇)电影微服务,定制Feign,一个Feign功能禁用Hystrix,另一个Feign功能 ...
- SpringCloud(第 017 篇)电影微服务接入Feign,添加 fallbackFactory 属性来触发请求进行容灾降级...
2019独角兽企业重金招聘Python工程师标准>>> SpringCloud(第 017 篇)电影微服务接入Feign,添加 fallbackFactory 属性来触发请求进行容灾 ...
- 微服务升级优点_SpringCloud微服务架构升级总结
原标题:SpringCloud微服务架构升级总结 1.1 应用系统的架构历史 1.2 什么是微服务? 起源:微服务的概念源于 2014 年 3 月 Martin Fowler 所写的一篇文章" ...
- SpringCloud一、前提概述、相关微服务和微服务架构理论知识、微服务技术栈有哪些、
①前提概述.微服务架构springcloud的相关学习. 前提知识+相关说明 1.目前,我们学习到最后的微服务架构SpringCloud,基本上需要熟悉以前的学习内容和知识:springmvc.spr ...
- 微服务笔记:第一章_微服务简介|Eureka注册中心|Nacos注册中心|Nacos配置管理|Feign|Gateway服务网关
微服务笔记:第一章_微服务简介|Eureka注册中心|Nacos注册中心|Nacos配置管理|Feign|Gateway服务网关 1. 微服务简介 1.1 服务架构演变 1.2 SpringCloud ...
- hystrix 页面_SpringCloud微服务架构篇5:微服务熔断机制-Hystrix
由于网络原因或者自身的原因,微服务并不能保证服务百分之百可用.如果单个服务出现问题,则调用该服务时会出现延迟甚至调用失败的情况:若调用失败,用户则会重新刷新页面并尝试再次调用,再加上其他服务的调用,从 ...
- 微服务_SpringCloud微服务架构实战:高并发微服务架构设计
高并发微服务架构设计 作为一个 IT 从业人员,我们经常会碰到类似于下面的一些问题: 单个项目巨大而沉重,难以维护. 系统稳定性得不到更有效的保证. 怎样才能持续地提升系统的性能. 怎样才能快速地响应 ...
- 微服务get请求条用_SpringCloud微服务(07):Zipkin组件,实现请求链路追踪
一.链路追踪简介 1.Sleuth组件简介 Sleuth是SpringCloud微服务系统中的一个组件,实现了链路追踪解决方案.可以定位一个请求到底请求了哪些具体的服务.在复杂的微服务系统中,如果请求 ...
最新文章
- UVA 311 Packets
- SQL Server 2012 安装杂谈
- CI框架发送邮件(带附件)
- 数据库基础 数据库设计三大范式
- es文件浏览器怎么用_谷歌出品的文件管理APP,比ES文件浏览器更简约
- 关于Java IO流学习总结
- C++--第11课 - 类的静态成员
- linux中vi后如何退出命令,linux用VI编辑后保存退出命令是什么啊?
- 工行聚合支付二维码扫码付对接流程及代码实现
- 使用echars制作家谱图
- 光谱分析软件_利用Tracker软件分析车前草提取液的吸收光谱特征
- Mongoose操作mongoDB的详细步骤
- 在WinForm中回车键(enter)和Esc键的设置
- 计算相似度的LLR算法
- Linux——shell
- Excel中的VBA学习--简易上手VB的程序
- 2023中兴软件类笔试
- 使用spring boot实现一个简单的项目——⽤户管理功能
- crontab 详解
- 操作系统开发--Hello OS-开始操作系统开发