Java 当management.port与服务器端口不同时,如何调用make OncePerRequestFilter?
我有一个扩展OncePerRequestFilter的过滤器。当我访问management.port=8081和server.port=8080或任何不同的端口时,我的过滤器不会在任何8081 URL上调用 该过滤器仅在8080个URL上调用 如何在所有URL上调用它,包括8081上的URL 过滤器:Java 当management.port与服务器端口不同时,如何调用make OncePerRequestFilter?,java,spring,spring-boot,servlet-filters,spring-boot-actuator,Java,Spring,Spring Boot,Servlet Filters,Spring Boot Actuator,我有一个扩展OncePerRequestFilter的过滤器。当我访问management.port=8081和server.port=8080或任何不同的端口时,我的过滤器不会在任何8081 URL上调用 该过滤器仅在8080个URL上调用 如何在所有URL上调用它,包括8081上的URL 过滤器: @Order( Ordered.LOWEST_PRECEDENCE ) public class TestFilter extends OncePerRequestFilter { pub
@Order( Ordered.LOWEST_PRECEDENCE )
public class TestFilter extends OncePerRequestFilter
{
public TestFilter()
{
System.out.println( "Started" );
}
@Override
protected boolean shouldNotFilter(HttpServletRequest request) throws ServletException
{
System.out.println( "Checked should not filter" );
return false;
}
@Override
public void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)
throws ServletException, IOException
{
System.out.println( "Filtering" );
// continue the processing
filterChain.doFilter( request, response );
}
}
我加上:
@Configuration
public class MyConfig
{
@Bean
public TestFilter testFilter()
{
return new TestFilter()
}
}
编辑:
我尝试将@ManagementContextConfiguration添加到我的配置类中,但也没有成功。虽然我找不到文档,但答案似乎是执行以下所有操作: 添加用@ManagementContextConfiguration注释的类 将该配置文件放在组件扫描之外,这样spring boot的正常自动配置就不会找到它 在META-INF/spring.factories中声明它: META-INF/spring.factories: 在spring-boot-2.0.0发布之前: org.springframework.boot.actuate.autoconfigure.ManagementContextConfiguration=com.packageoutsidescan.myManagementFilterConfiguration类 spring-boot-2.0.0.0发布web子包后: org.springframework.boot.actuate.autoconfigure.web.ManagementContextConfiguration=com.packageoutsidescan.myManagementFilterConfiguration类