Class ThrottlingFilterHeaplet

  • All Implemented Interfaces:
    Heaplet

    public class ThrottlingFilterHeaplet
    extends GenericHeaplet
    Creates and initializes a throttling filter in a heap environment. Configuration options:
     {
          "type": "ThrottlingFilter",
          "config": {
             "executor"                     : executor            [OPTIONAL - by default uses 'ScheduledThreadPool'
                                                                              heap object]
             "cleaningInterval"             : duration            [OPTIONAL - The interval to wait for cleaning outdated
                                                                              buckets. Cannot be neither zero nor
                                                                              unlimited.
             "requestGroupingPolicy"        : expression<String>  [REQUIRED - Expression to evaluate whether a request
                                                                              matches when calculating a rate for a group
                                                                              of requests.]
             "rate": {
                "numberOfRequests"          : integer             [REQUIRED - The number of requests allowed to go through
                                                                              this filter during the duration window.]
                "duration"                  : duration            [REQUIRED - The time window during which we count the
                                                                              incoming requests.]
             }
     OR
             "throttlingRatePolicy"         : reference or        [REQUIRED - the policy that will define the throttling
                                              inlined declaration             rate to apply]
          }
      }
      
     
    • Constructor Detail

      • ThrottlingFilterHeaplet

        public ThrottlingFilterHeaplet()
    • Method Detail

      • destroy

        public void destroy()
        Description copied from interface: Heaplet
        Called to indicate that the object created by the heaplet is going to be dereferenced. This gives the heaplet an opportunity to free any resources that are being held prior to its dereference.
        Specified by:
        destroy in interface Heaplet
        Overrides:
        destroy in class GenericHeaplet