Class Throttle
- java.lang.Object
-
- org.apache.synapse.commons.throttle.core.Throttle
-
public class Throttle extends Object
The representation for Throttle - holds the both of runtime and static data. There is a one to one relationship between each throttle configuration and context. Currently support two type of throttle configuration. One is remote caller IP based and other one is remote caller domain name based.There may be a concurrent access controller, if the throttle policy has defined the maximum concurrent access .
-
-
Constructor Summary
Constructors Constructor Description Throttle()
Default Constructor - initiates the context and configuration maps
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addThrottleConfiguration(String key, ThrottleConfiguration throttleConfiguration)
Adds a ThrottleConfiguration with the given key - configuration holds all static data for registered callersvoid
addThrottleContext(String key, ThrottleContext throttleContext)
Adds a ThrotleContext with the given key - context holds all runtime data for registered callersConcurrentAccessController
getConcurrentAccessController()
Returns the ConcurrentAccessController - this will control all the concurrent accessString
getId()
Returns the unique identifier for this throttleThrottleConfiguration
getThrottleConfiguration(String key)
Returns the ThrottleConfiguration for a given key - configuration holds all static data for registered callersThrottleContext
getThrottleContext(String contextID)
Returns the ThrotleContext for a given key - context holds all runtime data for registered callersvoid
setConcurrentAccessController(ConcurrentAccessController controller)
Sets the ConcurrentAccessController - this will control all the concurrent accessvoid
setId(String id)
Sets the unique identifier for this throttle
-
-
-
Method Detail
-
addThrottleConfiguration
public void addThrottleConfiguration(String key, ThrottleConfiguration throttleConfiguration)
Adds a ThrottleConfiguration with the given key - configuration holds all static data for registered callers- Parameters:
key
- - corresponding key for throttle type.This key has one-one relationship with key of contextsthrottleConfiguration
- - holds all static data for a throttle - ex: all callers configurations
-
addThrottleContext
public void addThrottleContext(String key, ThrottleContext throttleContext)
Adds a ThrotleContext with the given key - context holds all runtime data for registered callers- Parameters:
key
- - corresponding key for throttle type.This key has one-one relationship with key of configurationsthrottleContext
- - holds runtime data - ex: all callers states
-
getThrottleContext
public ThrottleContext getThrottleContext(String contextID)
Returns the ThrotleContext for a given key - context holds all runtime data for registered callers- Parameters:
contextID
- - corresponding key for throttle type- Returns:
- ThrottleContext returns the context that holds runtime data - ex: all callers state
-
getThrottleConfiguration
public ThrottleConfiguration getThrottleConfiguration(String key)
Returns the ThrottleConfiguration for a given key - configuration holds all static data for registered callers- Parameters:
key
- -corresponding key for throttle type- Returns:
- ThrottleConfiguration Returns configuration that holds all static data for a throttle - ex: all callers configurations
-
setConcurrentAccessController
public void setConcurrentAccessController(ConcurrentAccessController controller)
Sets the ConcurrentAccessController - this will control all the concurrent access- Parameters:
controller
- - the ConcurrentAccessController instance
-
getConcurrentAccessController
public ConcurrentAccessController getConcurrentAccessController()
Returns the ConcurrentAccessController - this will control all the concurrent access- Returns:
- the ConcurrentAccessController instance
-
getId
public String getId()
Returns the unique identifier for this throttle- Returns:
- String representation of the id
-
setId
public void setId(String id)
Sets the unique identifier for this throttle- Parameters:
id
- String representation of the id
-
-