Class ThrottlingFilterHeaplet
java.lang.Object
org.forgerock.openig.heap.GenericHeaplet
org.forgerock.openig.filter.throttling.ThrottlingFilterHeaplet
- All Implemented Interfaces:
Heaplet
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]
}
}
-
Field Summary
-
Constructor Summary
-
Method Summary
Methods inherited from class org.forgerock.openig.heap.GenericHeaplet
create, endpointRegistry, evaluatedWithHeapProperties, expression, getConfig, getHeap, getType, initialBindings, meterRegistryHolder, start
-
Constructor Details
-
ThrottlingFilterHeaplet
public ThrottlingFilterHeaplet()
-
-
Method Details
-
create
Description copied from class:GenericHeaplet
Called to request the heaplet create an object. Called byHeaplet.create(Name, JsonValue, Heap)
after initializing the protected field members. Implementations should parse configuration but not acquire resources, start threads, or log any initialization messages. These tasks should be performed by theGenericHeaplet.start()
method.- Specified by:
create
in classGenericHeaplet
- Returns:
- The created object.
- Throws:
HeapException
- if an exception occurred during creation of the heap object or any of its dependencies.
-
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 interfaceHeaplet
- Overrides:
destroy
in classGenericHeaplet
-