Zuul фильтр работает дважды - PullRequest
0 голосов
/ 03 марта 2020

Я использую разные профили и на основе этих профилей я создаю два разных предварительных фильтра в Zuul, например:

@SpringBootApplication
@EnableZuulProxy
public class Application extends SpringBootServletInitializer {

@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
    return application.sources(Application.class);
}

public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
    appLogger.info("++++++started application+++++");
}

// For Default profile
@Configuration
@Profile({"default"})
public static class PreFilterDefault {
    @Bean
    public PreFilterInternal preFilter() {
        return new PreFilterDefault();
    }

}

//For local profile
@Configuration
@Profile({"local"})
public static class PreFilterLocal {
    @Bean
    public PreFilterInternal preFilter() {
        return new PreFilterLocal();
    }

}

}

Но всякий раз, когда я запускаю свой предварительный фильтр с любым из профилей, запускается метод run дважды:

@Component
@Profile({"default"})
public class PreFilterDefault extends ZuulFilter {
@Override
public String filterType() {
    return "pre";
}

@Override
public int filterOrder() {
    return 1;
}

@Override
public boolean shouldFilter() {
    return true;
}
 @Override
public Object run() {
System.out.println("hello");
}

Привет печатается дважды. Я не могу понять, что я делаю неправильно.

...