@Configuration
@ConditionalOnClass(value={javax.cache.Caching.class,org.springframework.cache.jcache.JCacheCacheManager.class})
@ConditionalOnProperty(prefix="bucket4j",
value="enabled",
matchIfMissing=true)
@ConditionalOnBean(value=javax.cache.CacheManager.class,
name="cacheResolver")
@EnableConfigurationProperties(value=Bucket4JBootProperties.class)
public class Bucket4JAutoConfigurationServletFilter
extends Bucket4JBaseConfiguration
Filters for Bucket4Js rate limit.
Technical problem: The dynamic creation of the FilterRegistrationBeans failed cause when
registering them manually in the application context the Beans arn't detected as Filters
and therefore not configured correctly. The current workaround is the define 10 different methods
which creates individual FilterRegistrationBeans conditional on properties.| Modifier and Type | Class and Description |
|---|---|
static class |
Bucket4JAutoConfigurationServletFilter.ConfigCondition1 |
static class |
Bucket4JAutoConfigurationServletFilter.ConfigCondition10 |
static class |
Bucket4JAutoConfigurationServletFilter.ConfigCondition2 |
static class |
Bucket4JAutoConfigurationServletFilter.ConfigCondition3 |
static class |
Bucket4JAutoConfigurationServletFilter.ConfigCondition4 |
static class |
Bucket4JAutoConfigurationServletFilter.ConfigCondition5 |
static class |
Bucket4JAutoConfigurationServletFilter.ConfigCondition6 |
static class |
Bucket4JAutoConfigurationServletFilter.ConfigCondition7 |
static class |
Bucket4JAutoConfigurationServletFilter.ConfigCondition8 |
static class |
Bucket4JAutoConfigurationServletFilter.ConfigCondition9 |
| Constructor and Description |
|---|
Bucket4JAutoConfigurationServletFilter() |
| Modifier and Type | Method and Description |
|---|---|
org.springframework.boot.web.servlet.FilterRegistrationBean |
bucket4JFilter1() |
org.springframework.boot.web.servlet.FilterRegistrationBean |
bucket4JFilter10() |
org.springframework.boot.web.servlet.FilterRegistrationBean |
bucket4JFilter2() |
org.springframework.boot.web.servlet.FilterRegistrationBean |
bucket4JFilter3() |
org.springframework.boot.web.servlet.FilterRegistrationBean |
bucket4JFilter4() |
org.springframework.boot.web.servlet.FilterRegistrationBean |
bucket4JFilter5() |
org.springframework.boot.web.servlet.FilterRegistrationBean |
bucket4JFilter6() |
org.springframework.boot.web.servlet.FilterRegistrationBean |
bucket4JFilter7() |
org.springframework.boot.web.servlet.FilterRegistrationBean |
bucket4JFilter8() |
org.springframework.boot.web.servlet.FilterRegistrationBean |
bucket4JFilter9() |
org.springframework.expression.ExpressionParser |
servletFilterExpressionParser() |
buildFilterConfig, executeCondition, getKeyFilter, jCache, skipConditionpublic Bucket4JAutoConfigurationServletFilter()
@Bean public org.springframework.expression.ExpressionParser servletFilterExpressionParser()
@Bean @Conditional(value=Bucket4JAutoConfigurationServletFilter.ConfigCondition1.class) public org.springframework.boot.web.servlet.FilterRegistrationBean bucket4JFilter1()
@Bean @Conditional(value=Bucket4JAutoConfigurationServletFilter.ConfigCondition2.class) public org.springframework.boot.web.servlet.FilterRegistrationBean bucket4JFilter2()
@Bean @Conditional(value=Bucket4JAutoConfigurationServletFilter.ConfigCondition3.class) public org.springframework.boot.web.servlet.FilterRegistrationBean bucket4JFilter3()
@Bean @Conditional(value=Bucket4JAutoConfigurationServletFilter.ConfigCondition4.class) public org.springframework.boot.web.servlet.FilterRegistrationBean bucket4JFilter4()
@Bean @Conditional(value=Bucket4JAutoConfigurationServletFilter.ConfigCondition5.class) public org.springframework.boot.web.servlet.FilterRegistrationBean bucket4JFilter5()
@Bean @Conditional(value=Bucket4JAutoConfigurationServletFilter.ConfigCondition6.class) public org.springframework.boot.web.servlet.FilterRegistrationBean bucket4JFilter6()
@Bean @Conditional(value=Bucket4JAutoConfigurationServletFilter.ConfigCondition7.class) public org.springframework.boot.web.servlet.FilterRegistrationBean bucket4JFilter7()
@Bean @Conditional(value=Bucket4JAutoConfigurationServletFilter.ConfigCondition8.class) public org.springframework.boot.web.servlet.FilterRegistrationBean bucket4JFilter8()
@Bean @Conditional(value=Bucket4JAutoConfigurationServletFilter.ConfigCondition9.class) public org.springframework.boot.web.servlet.FilterRegistrationBean bucket4JFilter9()
@Bean @Conditional(value=Bucket4JAutoConfigurationServletFilter.ConfigCondition10.class) public org.springframework.boot.web.servlet.FilterRegistrationBean bucket4JFilter10()
Copyright © 2017 Pivotal Software, Inc.. All rights reserved.