Class Bucket4JAutoConfigurationServletFilter

java.lang.Object
com.giffing.bucket4j.spring.boot.starter.config.Bucket4JBaseConfiguration<javax.servlet.http.HttpServletRequest>
com.giffing.bucket4j.spring.boot.starter.config.servlet.Bucket4JAutoConfigurationServletFilter
All Implemented Interfaces:
org.springframework.boot.web.server.WebServerFactoryCustomizer<org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory>

@Configuration
@ConditionalOnClass({javax.servlet.Filter.class,io.github.bucket4j.grid.jcache.JCacheProxyManager.class})
@ConditionalOnProperty(prefix="bucket4j",
                       value="enabled",
                       matchIfMissing=true)
@EnableConfigurationProperties(com.giffing.bucket4j.spring.boot.starter.context.properties.Bucket4JBootProperties.class)
@AutoConfigureBefore(org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryAutoConfiguration.class)
@AutoConfigureAfter({org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration.class,Bucket4jCacheConfiguration.class})
@ConditionalOnBean(SyncCacheResolver.class)
@Import({Bucket4JAutoConfigurationServletFilterBeans.class,Bucket4jCacheConfiguration.class,SpringBootActuatorConfig.class})
public class Bucket4JAutoConfigurationServletFilter
extends Bucket4JBaseConfiguration<javax.servlet.http.HttpServletRequest>
implements org.springframework.boot.web.server.WebServerFactoryCustomizer<org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory>
Configures Filters for Bucket4Js rate limit.
  • Constructor Details

    • Bucket4JAutoConfigurationServletFilter

      public Bucket4JAutoConfigurationServletFilter​(Bucket4JBootProperties properties, org.springframework.beans.factory.config.ConfigurableBeanFactory beanFactory, org.springframework.context.support.GenericApplicationContext context, SyncCacheResolver cacheResolver, List<MetricHandler> metricHandlers, Bucket4jConfigurationHolder servletConfigurationHolder, org.springframework.expression.ExpressionParser servletFilterExpressionParser)
  • Method Details

    • customize

      public void customize​(org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory factory)
      Specified by:
      customize in interface org.springframework.boot.web.server.WebServerFactoryCustomizer<org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory>
    • getMetricHandlers

      public List<MetricHandler> getMetricHandlers()
      Specified by:
      getMetricHandlers in class Bucket4JBaseConfiguration<javax.servlet.http.HttpServletRequest>