securityFilter.setAsyncSupported(true); monitorFilter.setAsyncSupported(true);
registration.setAsyncSupported(isAsyncSupported()); registration.addMappingForServletNames(getDispatcherTypes(), false, getServletName()); return registration;
/** * Registers the provided filter using the {@link #isAsyncSessionSupported()} and * {@link #getSessionDispatcherTypes()}. * * @param servletContext the servlet context * @param insertBeforeOtherFilters should this Filter be inserted before or after * other {@link Filter} * @param filterName the filter name * @param filter the filter */ private void registerFilter(ServletContext servletContext, boolean insertBeforeOtherFilters, String filterName, Filter filter) { Dynamic registration = servletContext.addFilter(filterName, filter); if (registration == null) { throw new IllegalStateException( "Duplicate Filter registration for '" + filterName + "'. Check to ensure the Filter is only configured once."); } registration.setAsyncSupported(isAsyncSessionSupported()); EnumSet<DispatcherType> dispatcherTypes = getSessionDispatcherTypes(); registration.addMappingForUrlPatterns(dispatcherTypes, !insertBeforeOtherFilters, "/*"); }
@Override public void contextInitialized(ServletContextEvent servletContextEvent) { ServletContext servletContext = servletContextEvent.getServletContext(); Dynamic filterRegistration = servletContext .addFilter("tracingFilter", new SpanFinishingFilter()); filterRegistration.setAsyncSupported(true); filterRegistration.addMappingForUrlPatterns(EnumSet.of(DispatcherType.REQUEST), false, "*"); }
private void addCacheFilter(ServletContext context) { FilterRegistration.Dynamic filter = context.addFilter(CACHE_FILTER_NAME, CacheServletFilter.class); filter.setAsyncSupported(true); String[] mappings = new String[]{"/", "*.html", "*.css", "*.js", "*.ejs", "*.less", "*.hbs"}; for (String mapping : mappings) { filter.addMappingForUrlPatterns(EnumSet.of(DispatcherType.REQUEST), false, mapping); } }
private void addDebugFilter(ServletContext context) { FilterRegistration.Dynamic filter = context.addFilter(DEBUG_FILTER_NAME, RequestDebugFilter.class); filter.setAsyncSupported(true); filter.addMappingForUrlPatterns(EnumSet.of(DispatcherType.REQUEST), false, "/*"); }
private FilterRegistration.Dynamic addFilter(ServletContext servletContext, FilterInfo filterInfo) { FilterRegistration.Dynamic filterRegistration = servletContext.addFilter(filterInfo.filterName, filterInfo.filterClass); filterRegistration.setAsyncSupported(filterInfo.asyncSupported); filterRegistration.setInitParameters(filterInfo.initParams); for (FilterMappingInfo servletMapping: filterInfo.servletMappings) { filterRegistration.addMappingForServletNames(servletMapping.dispatchers, true, servletMapping.mapping.toArray(new String[servletMapping.mapping.size()])); } for (FilterMappingInfo urlMapping: filterInfo.urlMappings) { filterRegistration.addMappingForUrlPatterns(urlMapping.dispatchers, true, urlMapping.mapping.toArray(new String[urlMapping.mapping.size()])); } return filterRegistration; }
/** */ private void initCORSFilter(ServletContext servletContext, EnumSet<DispatcherType> disps) { FilterRegistration.Dynamic corsFilter = servletContext.addFilter("corsFilter", new CorsFilter()); corsFilter.addMappingForUrlPatterns(disps, true, "/api/*"); corsFilter.setAsyncSupported(true); } }
private void addFilter(final ServletContext servletContext, final String name, final Class<? extends Filter> type) { final FilterRegistration.Dynamic reg = servletContext.addFilter(name, type); reg.setAsyncSupported(true); reg.addMappingForUrlPatterns(EnumSet.allOf(DispatcherType.class), true, "/*"); }
@Override public void onStartup(final Set<Class<?>> c, final ServletContext ctx) { final GeronimoOpenTracingConfig config = GeronimoOpenTracingConfig.create(); if (!"true".equalsIgnoreCase(config.read("filter.active", "true"))) { return; } final FilterRegistration.Dynamic opentracing = ctx.addFilter("opentracing", OpenTracingFilter.class); opentracing.setAsyncSupported(true); opentracing.addMappingForUrlPatterns(EnumSet.allOf(DispatcherType.class), false, "/*"); } }
/** * 注册springSecurityFilterChain过滤器 (使用spring security 授权与验证) * @param servletContext ServletContext */ public static void registerSpringSecurityFilter(ServletContext servletContext) { javax.servlet.FilterRegistration.Dynamic springSecurityFilterChain = servletContext.addFilter("springSecurityFilterChain", DelegatingFilterProxy.class); springSecurityFilterChain.addMappingForUrlPatterns( null, false, "/login/*" ,"/logout/*", "/service/*", "/system/*"); springSecurityFilterChain.setAsyncSupported(true); }
private void addJavaMelodyFilter(ServletContext container, AnnotationConfigWebApplicationContext rootContext) { if(SingularProperties.get().isTrue("singular.studio.javamelody.enabled")) { FilterRegistration.Dynamic dynamic = container.addFilter("javamelodyFilter", MonitoringFilter.class); dynamic.addMappingForUrlPatterns(EnumSet.of(DispatcherType.ASYNC, DispatcherType.REQUEST), false, "/*"); dynamic.setAsyncSupported(true); container.addListener(new SessionListener()); } }
/** * 注册RequestThreadLocalFilter过滤器 * (将HttpServletRequest请求与本地线程绑定,方便在非Controller层获取HttpServletRequest实例) * @param servletContext ServletContext */ public static void registerRequestThreadLocalFilter(ServletContext servletContext) { javax.servlet.FilterRegistration.Dynamic requestThreadLocalFilter = servletContext.addFilter("requestThreadLocalFilter", RequestThreadLocalFilter.class); requestThreadLocalFilter.addMappingForUrlPatterns(null, false, "/*"); requestThreadLocalFilter.setAsyncSupported(true); }
/** * 注册CharacterEncodingFilter过滤器 (设置字符集) * @param servletContext ServletContext */ public static void registerCharacterEncodingFilter(ServletContext servletContext) { javax.servlet.FilterRegistration.Dynamic encodingFilter = servletContext.addFilter("encodingFilter", CharacterEncodingFilter.class); encodingFilter.addMappingForUrlPatterns(null, false, "*.jsp", "*.html", "/service/*", "/system/*"); encodingFilter.setAsyncSupported(true); encodingFilter.setInitParameter("encoding", "UTF-8"); encodingFilter.setInitParameter("forceEncoding", "true"); }
private void addJaxRsIntegration(ServletContext servletContext, Tracer tracer) { servletContext.setInitParameter("resteasy.providers", TracerDynamicFeature.class.getName()); FilterRegistration.Dynamic filterRegistration = servletContext.addFilter(SpanFinishingFilter.class.getName(), new SpanFinishingFilter(tracer)); filterRegistration.setAsyncSupported(true); filterRegistration.addMappingForUrlPatterns(EnumSet.of(DispatcherType.REQUEST), false, "*"); }
protected void registerClassLoaderFilter(ServletContext servletContext) { FilterRegistration.Dynamic filterReg = servletContext.addFilter("WebSingleWarHttpFilter", new SetClassLoaderFilter()); filterReg.setAsyncSupported(true); filterReg.addMappingForUrlPatterns(EnumSet.of(DispatcherType.REQUEST), false, "/*"); filterReg.addMappingForUrlPatterns(EnumSet.of(DispatcherType.REQUEST), false, "/dispatch/*"); filterReg.addMappingForUrlPatterns(EnumSet.of(DispatcherType.REQUEST), false, "/rest/*"); }
protected void registerCubaHttpFilter(ServletContext servletContext) { CubaHttpFilter cubaHttpFilter = new CubaHttpFilter(); FilterRegistration.Dynamic cubaHttpFilterReg = servletContext.addFilter("CubaHttpFilter", cubaHttpFilter); cubaHttpFilterReg.setAsyncSupported(true); cubaHttpFilterReg.addMappingForUrlPatterns(EnumSet.of(DispatcherType.REQUEST), true, "/*"); }
/** * 注册HiddenHttpMethodFilter过滤器 (过滤请求方式) * @param servletContext ServletContext */ public static void registerHiddenHttpMethodFilter(ServletContext servletContext) { javax.servlet.FilterRegistration.Dynamic hiddenHttpMethodFilter = servletContext.addFilter("hiddenHttpMethodFilter", HiddenHttpMethodFilter.class); hiddenHttpMethodFilter.addMappingForUrlPatterns( EnumSet.allOf(DispatcherType.class), false, "/service/*", "/system/*"); hiddenHttpMethodFilter.setAsyncSupported(true); }
@Override public void onStartup(final Set<Class<?>> classes, final ServletContext servletContext) throws ServletException { if (servletContext.getMajorVersion() > 2 && servletContext.getEffectiveMajorVersion() > 2 && !"true".equalsIgnoreCase(servletContext.getInitParameter( Log4jWebSupport.IS_LOG4J_AUTO_INITIALIZATION_DISABLED ))) { LOGGER.debug("Log4jServletContainerInitializer starting up Log4j in Servlet 3.0+ environment."); final FilterRegistration.Dynamic filter = servletContext.addFilter("log4jServletFilter", Log4jServletFilter.class); if (filter == null) { LOGGER.warn("WARNING: In a Servlet 3.0+ application, you should not define a " + "log4jServletFilter in web.xml. Log4j 2 normally does this for you automatically. Log4j 2 " + "web auto-initialization has been canceled."); return; } final Log4jWebLifeCycle initializer = WebLoggerContextUtils.getWebLifeCycle(servletContext); initializer.start(); initializer.setLoggerContext(); // the application is just now starting to start up servletContext.addListener(new Log4jServletContextListener()); filter.setAsyncSupported(true); // supporting async when the user isn't using async has no downsides filter.addMappingForUrlPatterns(EnumSet.allOf(DispatcherType.class), false, "/*"); } } }
registration.setAsyncSupported(isAsyncSupported()); registration.addMappingForServletNames(getDispatcherTypes(), false, getServletName()); return registration;