Class ServletLimiterBuilder


  • public final class ServletLimiterBuilder
    extends com.netflix.concurrency.limits.limiter.AbstractPartitionedLimiter.Builder<ServletLimiterBuilder,​jakarta.servlet.http.HttpServletRequest>
    Builder to simplify creating a Limiter specific to a Servlet filter. By default, the same concurrency limit is shared by all requests. The limiter can be partitioned based on one of many request attributes. Only one type of partition may be specified.
    • Field Summary

      • Fields inherited from class com.netflix.concurrency.limits.limiter.AbstractLimiter.Builder

        name, registry
    • Constructor Detail

      • ServletLimiterBuilder

        public ServletLimiterBuilder()
    • Method Detail

      • partitionByHeader

        public ServletLimiterBuilder partitionByHeader​(java.lang.String name)
        Partition the limit by header
        Returns:
        Chainable builder
      • partitionByUserPrincipal

        public ServletLimiterBuilder partitionByUserPrincipal​(java.util.function.Function<java.security.Principal,​java.lang.String> principalToGroup)
        Partition the limit by Principal. Percentages of the limit are partitioned to named groups. Group membership is derived from the provided mapping function.
        Parameters:
        principalToGroup - Mapping function from Principal to a named group.
        Returns:
        Chainable builder
      • partitionByAttribute

        public ServletLimiterBuilder partitionByAttribute​(java.lang.String name)
        Partition the limit by request attribute
        Returns:
        Chainable builder
      • partitionByParameter

        public ServletLimiterBuilder partitionByParameter​(java.lang.String name)
        Partition the limit by request parameter
        Returns:
        Chainable builder
      • partitionByPathInfo

        public ServletLimiterBuilder partitionByPathInfo​(java.util.function.Function<java.lang.String,​java.lang.String> pathToGroup)
        Partition the limit by the full path. Percentages of the limit are partitioned to named groups. Group membership is derived from the provided mapping function.
        Parameters:
        pathToGroup - Mapping function from full path to a named group.
        Returns:
        Chainable builder