首页 > 其他分享 >@Order和Ordered在gateway中的异常情况

@Order和Ordered在gateway中的异常情况

时间:2022-12-13 17:33:55浏览次数:38  
标签:199 sp gateway GlobalFilter Ordered Order

使用场景

多个过滤器时,确定执行的先后顺序.注意是过滤器执行的先后顺序,不是加载的先后顺序
值越小,越先执行

@Component
public class GlobalLogFilter implements GlobalFilter, Ordered {

    @Override
    public int getOrder() {
        return -199;
    }
}
@Component
@Order(-199)
public class GlobalLogFilter implements GlobalFilter{
}

注意

一般情况下,这两种写法效果相同,但是,在gateway中两者差别甚大

  • 如果使用@Order(-199)写法,会先执行gatewayFilter(虽然默认的order是10000),然后才执行GlobalFilter
  • 如果使用Ordered接口写法,会按照order值从小到大执行

例如请求/sp/xxx/yyy接口:
gateway配置

      - id: mkeke-sp
        uri: lb://mkeke-sp
        predicates:
          - Path=/sp/**
        filters:
          - StripPrefix=1

过滤器中获取String url = exchange.getRequest().getURI().getPath();

  1. 如果使用@Order(-199),url="/xxx/yyy",因为此时先执行gatewayFilter
  2. 如果使用Ordered接口,order=-199,url="/sp/xxx/yyy",因为此时先执行GlobalFilter

标签:199,sp,gateway,GlobalFilter,Ordered,Order
From: https://www.cnblogs.com/lyalong/p/16979398.html

相关文章

  • 排序OrderBy【C#】
    需求:排序的时候,使用自身的o.字段并不能满足排序需求,需要自定义排序。如下是自定义排序的代码示例:privateList<ROI>changeROIRank(List<ROI>rOIs){List<ROI>or......
  • 【Unity Shader】Special Effects(二)BorderFlow 边框流动(UI)
    更新日期:2021年8月23日。Github源码:​​​[点我获取源码]​​索引​​BorderFlow边框流动​​​​思路分析​​​​流光区域​​​​流光区域的中心点​​​​流光区域的......
  • CSS对盒子hover时设置border导致盒子内元素发生位移的解决方法
    学习CSS时发现:当我想要鼠标移到某个盒子显示border边框线时,却发现盒子内的元素会发生位移和错位原因:显示border时边框线会占用原有盒子空间,所以会导致挤压盒子内的元素,......
  • HIVE中,order by、sort by、 distribute by和 cluster by区别,以及cluster by有什么意义
    HIVE中,orderby、sortby、distributeby和clusterby区别,以及clusterby有什么意义1.orederby主要是做全局排序。​ 只要hive的sql中指定了orderby,那么所有的数......
  • springcloud GateWay网关
    GateWay如何工作客户端向SpringCloudGateWay发出请求,然后在GateWayHandlerMapping中找到与请求相匹配的路由,将其发送到GateWayWebHandler;Handler再通过指定的过滤器链......
  • 【云原生】Kubernetes(k8s)Istio Gateway 介绍与实战操作
    目录一、概述二、Istio架构三、通过istioctl部署Istio1)安装istioctl工具2)通过istioctl安装istio3)检查四、IstioGateway五、IstioVirtualService虚拟服务六、示例演......
  • springcloud GateWay网关
    GateWay如何工作客户端向SpringCloudGateWay发出请求,然后在GateWayHandlerMapping中找到与请求相匹配的路由,将其发送到GateWayWebHandler;Handler再通过指定的过滤器......
  • map与unordered_map
    所有的数据都是成对出现的,每一对中的第一个值称之为关键字(key),每个关键字只能在map中出现一次;第二个称之为该关键字的对应值(value)。 map是一种有序的容器,底层是用红......
  • 【ARXIV2211】Efficient multi-order gated aggregation network
    作者认为,交互复杂性是视觉识别一个重要特点。为此,作者通过复杂特征交互构建了一个纯卷积的网络MogaNet用于图像识别。MogaNet的整体框架如下图所示,架构和一般的Transfo......
  • [论文速览] Efficient Multi-order Gated Aggregation Network
    pretitle:EfficientMulti-orderGatedAggregationNetworkaccepted:arXiv2022paper:https://arxiv.org/abs/2211.03295code:https://github.com/Westlake-AI/Mo......