zoukankan      html  css  js  c++  java
  • zuul入门(2)zuul的过滤器分类和加载

    一、Groovy编写的Filter

    1、可以放到指定目录加载

    创建一个pre类型的filter,在run方法中获取HttpServletRequest 然后答应header信息

    在代码中加入groovy编译器,间隔10秒扫描一次groovy文件,其代码如下:

    <dependency>

        <groupId>org.codehaus.groovy</groupId>

        <artifactId>groovy-all</artifactId>

        <version>2.4.4</version>

    </dependency>

    FilterLoader.getInstance().setCompiler(new GroovyCompiler());

    try

    {

        FilterFileManager.setFilenameFilter(new GroovyFileFilter());

        FilterFileManager.init(10,"/Users/liaokailin/code/ieda/springcloud/myzuul/src/main/java/com/lkl/springcloud/zuul/filters/groovy/pre");

    }

    catch (Exception e)

    {

        throw new RuntimeException(e);

    }

    这里groovy文件通过绝对路径指定,如果是实际开发中,可以通过db去存储groovy文件。 

    二、Java编写的filter

    通过ServletRegistrationBean构造ZuulServlet,该Servlet用以进行filter执行调度以及监控等等操作 

    1、SpringBoot应用

    final FilterRegistry r = FilterRegistry.instance();

    r.put("javaPreFilter", new ZuulFilter()

               {

                      @Override public int filterOrder()

                                 {

                                      return 50000;

                                 }

                       @Override public String filterType()

                                 {

                                       return "pre";

                                 }

                        @Override public boolean shouldFilter()

                                 {

                                        return true;

                                 }

                         @Override public Object run()

                                {

                                     System.out.println("running javaPreFilter");

                                     RequestContext.getCurrentContext().set("name", "liaokailin");

                                     return null;

                                 }

                  });

  • 相关阅读:
    Mac上的USB存储设备使用痕迹在新版操作系统有所变化
    Beware of the encrypted VM
    A barrier for Mobile Forensics
    Second Space could let suspect play two different roles easily
    Take advantage of Checkra1n to Jailbreak iDevice for App analysis
    Find out "Who" and "Where"
    Where is the clone one and how to extract it?
    Downgrade extraction on phones running Android 7/8/9
    高版本安卓手机的取证未来
    How to extract WeChat chat messages from a smartphone running Android 7.x or above
  • 原文地址:https://www.cnblogs.com/lexiaofei/p/7098136.html
Copyright © 2011-2022 走看看