Spring Cloud Gateway自定义过滤器实战(观测断路器状态变化) (4)

知道了原因,改起来就容易了,我的做法很简单:StatePrinterGatewayFilter不再实现Ordered,这样就和CircuitBreaker的filter一样,执行的是上图红框中的代码,这样,在配置文件中,谁放在前面谁就先执行

代码就不贴出来了,您自行删除StatePrinterGatewayFilter中和Ordered相关的部分即可

配置文件调整后如下:

server: #服务端口 port: 8081 spring: application: name: circuitbreaker-gateway cloud: gateway: routes: - id: path_route uri: :8082 predicates: - Path=http://www.likecs.com/hello/** filters: - name: CircuitBreakerStatePrinter - name: CircuitBreaker args: name: myCircuitBreaker

改完了,再次运行CircuitbreakerTest.java,如下图,这一次,每个请求都会打印出此时断路器的状态:

在这里插入图片描述

知识点小结

至此,用于观测断路器状态的自定义过滤器就算完成了,整个过程还是有不少知识点的,咱们来盘点一下:

常规的局部过滤器开发步骤

过滤器执行顺序的逻辑

spring的依赖注入和自动装配

断路器的filter源码

java的反射基本功

本文与《Spring Cloud Gateway的断路器(CircuitBreaker)功能》结合,诚意满满的带给您理论结合实战的体验,希望能给您学习Spring Cloud Gateway的过程中带来一些参考;

你不孤单,欣宸原创一路相伴

Java系列

Spring系列

Docker系列

kubernetes系列

数据库+中间件系列

DevOps系列

欢迎关注公众号:程序员欣宸

微信搜索「程序员欣宸」,我是欣宸,期待与您一同畅游Java世界...
https://github.com/zq2599/blog_demos

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzdpfj.html