org.springframework.boot.web.servlet.FilterRegistrationBean#setAsyncSupported ( )源码实例Demo

下面列出了org.springframework.boot.web.servlet.FilterRegistrationBean#setAsyncSupported ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

@Bean
public FilterRegistrationBean springMvcDelegatingFilterProxy() {
    FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
    SpringMvcSofaTracerFilter filter = new SpringMvcSofaTracerFilter();
    filterRegistrationBean.setFilter(filter);
    List<String> urlPatterns = openTracingSpringProperties.getUrlPatterns();
    if (urlPatterns == null || urlPatterns.size() <= 0) {
        filterRegistrationBean.addUrlPatterns("/*");
    } else {
        filterRegistrationBean.setUrlPatterns(urlPatterns);
    }
    filterRegistrationBean.setName(filter.getFilterName());
    filterRegistrationBean.setAsyncSupported(true);
    filterRegistrationBean.setOrder(openTracingSpringProperties.getFilterOrder());
    return filterRegistrationBean;
}
 
源代码2 项目: para   文件: ParaServer.java
/**
 * @return CORS filter bean
 */
@Bean
public FilterRegistrationBean<?> corsFilterRegistrationBean() {
	String path = Api1.PATH + "*";
	logger.debug("Initializing CORS filter [{}]...", path);
	FilterRegistrationBean<?> frb = new FilterRegistrationBean<>(new CORSFilter());
	frb.addInitParameter("cors.support.credentials", "true");
	frb.addInitParameter("cors.allowed.methods", "GET,POST,PATCH,PUT,DELETE,HEAD,OPTIONS");
	frb.addInitParameter("cors.exposed.headers", "Cache-Control,Content-Length,Content-Type,Date,ETag,Expires");
	frb.addInitParameter("cors.allowed.headers", "Origin,Accept,X-Requested-With,Content-Type,"
			+ "Access-Control-Request-Method,Access-Control-Request-Headers,X-Amz-Credential,"
			+ "X-Amz-Date,Authorization");
	frb.addUrlPatterns(path, "/" + JWTRestfulAuthFilter.JWT_ACTION);
	frb.setAsyncSupported(true);
	frb.setEnabled(Config.CORS_ENABLED);
	frb.setMatchAfter(false);
	frb.setOrder(2);
	return frb;
}
 
/**
 * RequestDetailFilter配置
 *
 * @return
 */
@Bean
public FilterRegistrationBean requestDetailFilter() {
    SpringBootPlusFilterProperties.FilterConfig requestFilterConfig = filterConfig.getRequest();
    FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
    filterRegistrationBean.setFilter(new RequestDetailFilter());
    filterRegistrationBean.setEnabled(requestFilterConfig.isEnable());
    filterRegistrationBean.addUrlPatterns(requestFilterConfig.getUrlPatterns());
    filterRegistrationBean.setOrder(requestFilterConfig.getOrder());
    filterRegistrationBean.setAsyncSupported(requestFilterConfig.isAsync());
    return filterRegistrationBean;
}
 
/**
 * XssFilter配置
 *
 * @return
 */
@Bean
public FilterRegistrationBean xssFilter() {
    SpringBootPlusFilterProperties.FilterConfig xssFilterConfig = filterConfig.getXss();
    FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
    filterRegistrationBean.setFilter(new XssFilter());
    filterRegistrationBean.setEnabled(xssFilterConfig.isEnable());
    filterRegistrationBean.addUrlPatterns(xssFilterConfig.getUrlPatterns());
    filterRegistrationBean.setOrder(xssFilterConfig.getOrder());
    filterRegistrationBean.setAsyncSupported(xssFilterConfig.isAsync());
    return filterRegistrationBean;
}
 
源代码5 项目: spring-boot-plus   文件: ShiroConfig.java
/**
 * ShiroFilter配置
 *
 * @return
 */
@Bean
public FilterRegistrationBean delegatingFilterProxy() {
    FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
    DelegatingFilterProxy proxy = new DelegatingFilterProxy();
    proxy.setTargetFilterLifecycle(true);
    proxy.setTargetBeanName(SHIRO_FILTER_NAME);
    filterRegistrationBean.setFilter(proxy);
    filterRegistrationBean.setAsyncSupported(true);
    filterRegistrationBean.setEnabled(true);
    filterRegistrationBean.setDispatcherTypes(DispatcherType.REQUEST, DispatcherType.ASYNC);
    return filterRegistrationBean;
}
 
源代码6 项目: chronus   文件: ShiroConfiguration.java
@Bean
public FilterRegistrationBean<Filter> filterRegistrationBean(ShiroFilterFactoryBean shiroFilterFactoryBean) throws Exception {
    FilterRegistrationBean<Filter> filterRegistration = new FilterRegistrationBean<>();
    filterRegistration.setFilter((Filter) shiroFilterFactoryBean.getObject());
    filterRegistration.addInitParameter("targetFilterLifecycle", "true");
    filterRegistration.setAsyncSupported(true);
    filterRegistration.setEnabled(true);
    //这里添加一下对DispatcherType.ASYNC的支持就可以了
    filterRegistration.setDispatcherTypes(DispatcherType.REQUEST, DispatcherType.ASYNC);
    return filterRegistration;
}
 
源代码7 项目: poli   文件: AppConfig.java
@Bean
public FilterRegistrationBean authFilterRegistry() {
    FilterRegistrationBean registration = new FilterRegistrationBean();
    registration.setName("authFilter");
    registration.setFilter(new AuthFilter());
    registration.addUrlPatterns("/*");
    registration.setAsyncSupported(Boolean.TRUE);
    registration.setEnabled(Boolean.TRUE);
    return registration;
}
 
源代码8 项目: java-jaxrs   文件: Configuration.java
@Bean
public FilterRegistrationBean spanFinishingFilter() {
    FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
    filterRegistrationBean.setFilter(new SpanFinishingFilter());
    filterRegistrationBean.setAsyncSupported(true);
    filterRegistrationBean.setDispatcherTypes(DispatcherType.REQUEST);
    filterRegistrationBean.addUrlPatterns("*");
    return filterRegistrationBean;
}
 
@Bean
@SuppressWarnings({"rawtypes", "unchecked"}) // generic as of Spring Boot 2
public FilterRegistrationBean tracingFilter(
        final Tracer tracer) {

    final TracingFilter filter = new TracingFilter(tracer, emptyList(), null);
    final FilterRegistrationBean bean = new FilterRegistrationBean(filter);
    bean.setAsyncSupported(true);

    return bean;
}
 
@Bean
@SuppressWarnings({"rawtypes", "unchecked"}) // generic as of Spring Boot 2
public FilterRegistrationBean tracingFilter(
        final Tracer tracer) {

    final TracingFilter filter = new TracingFilter(tracer, emptyList(), null);
    final FilterRegistrationBean bean = new FilterRegistrationBean(filter);
    bean.setAsyncSupported(true);

    return bean;
}
 
@Bean
@SuppressWarnings({"rawtypes", "unchecked"}) // generic as of Spring Boot 2
public FilterRegistrationBean tracingFilter(
        final Tracer tracer,
        final List<ServletFilterSpanDecorator> decorators) {

    final TracingFilter filter = new TracingFilter(tracer, decorators, null);
    final FilterRegistrationBean bean = new FilterRegistrationBean(filter);
    bean.setAsyncSupported(true);

    return bean;
}
 
@Bean
@SuppressWarnings({"rawtypes", "unchecked"}) // generic as of Spring Boot 2
public FilterRegistrationBean tracingFilter(
        final Tracer tracer,
        final List<ServletFilterSpanDecorator> decorators) {

    final TracingFilter filter = new TracingFilter(tracer, decorators, null);
    final FilterRegistrationBean bean = new FilterRegistrationBean(filter);
    bean.setAsyncSupported(true);

    return bean;
}
 
源代码13 项目: para   文件: ParaServer.java
/**
 * @return GZIP filter bean
 */
@Bean
public FilterRegistrationBean<?> gzipFilterRegistrationBean() {
	String path = Api1.PATH + "*";
	FilterRegistrationBean<?> frb = new FilterRegistrationBean<>(new GZipServletFilter());
	logger.debug("Initializing GZip filter [{}]...", path);
	frb.addUrlPatterns(path);
	frb.setAsyncSupported(true);
	frb.setEnabled(Config.GZIP_ENABLED);
	frb.setMatchAfter(true);
	frb.setOrder(20);
	return frb;
}
 
源代码14 项目: cloudbreak   文件: CommonFilterConfiguration.java
@Bean
public FilterRegistrationBean spanFinishingFilter() {
    FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
    filterRegistrationBean.setFilter(new SpanFinishingFilter());
    filterRegistrationBean.setAsyncSupported(true);
    filterRegistrationBean.setOrder(Integer.MIN_VALUE);
    filterRegistrationBean.setDispatcherTypes(DispatcherType.REQUEST);
    filterRegistrationBean.addUrlPatterns("*");
    return filterRegistrationBean;
}
 
源代码15 项目: javamelody   文件: JavaMelodyAutoConfiguration.java
/**
 * Registers the JavaMelody {@link MonitoringFilter}. The filter can be overridden completely by creating a custom
 * {@link FilterRegistrationBean} with the name "javamelody-registration" in the application context.
 * @param properties JavaMelodyConfigurationProperties
 * @param servletContext ServletContext
 * @return FilterRegistrationBean
 */
@Bean(name = REGISTRATION_BEAN_NAME)
@ConditionalOnMissingBean(name = REGISTRATION_BEAN_NAME)
public FilterRegistrationBean<MonitoringFilter> monitoringFilter(
		JavaMelodyConfigurationProperties properties, ServletContext servletContext) {
	final FilterRegistrationBean<MonitoringFilter> registrationBean = new FilterRegistrationBean<>();

	// Create the monitoring filter and set its configuration parameters.
	final MonitoringFilter filter;
	if (properties.isManagementEndpointMonitoringEnabled()) {
		// if the management endpoint is enabled, disable the /monitoring reports on the application port
		filter = new MonitoringFilter() {
			@Override
			protected boolean isAllowed(HttpServletRequest request,
					HttpServletResponse response) throws IOException {
				response.sendError(HttpServletResponse.SC_FORBIDDEN, "Forbidden access");
				return false;
			}
		};
	} else {
		filter = new MonitoringFilter();
	}
	filter.setApplicationType("Spring Boot");

	// Wrap the monitoring filter in the registration bean.
	registrationBean.setFilter(filter);
	registrationBean.setAsyncSupported(true);
	registrationBean.setName("javamelody");
	registrationBean.setDispatcherTypes(DispatcherType.REQUEST, DispatcherType.ASYNC);

	// Set the initialization parameter for the monitoring filter.
	for (final Entry<String, String> parameter : properties.getInitParameters().entrySet()) {
		registrationBean.addInitParameter(parameter.getKey(), parameter.getValue());
	}

	// Set the URL patterns to activate the monitoring filter for.
	registrationBean.addUrlPatterns("/*");

	final FilterRegistration filterRegistration = servletContext
			.getFilterRegistration("javamelody");
	if (filterRegistration != null) {
		// if webapp deployed as war in a container with MonitoringFilter already added by web-fragment.xml,
		// do not try to add it again
		registrationBean.setEnabled(false);
		for (final Map.Entry<String, String> entry : registrationBean.getInitParameters()
				.entrySet()) {
			filterRegistration.setInitParameter(entry.getKey(), entry.getValue());
		}
	}
	return registrationBean;
}