When we reinitialize the Throttle with a smaller number of allowed operations within a time period, we should preserve the oldest rather than the newest ones, or we'll most likely be in immediate and unfair violation of the limit.
This commit is contained in:
@@ -43,9 +43,19 @@ public class EHCacheAdapter
|
|||||||
* cache manager when it knows that Depot and any other clients no longer need it.
|
* cache manager when it knows that Depot and any other clients no longer need it.
|
||||||
*/
|
*/
|
||||||
public EHCacheAdapter (CacheManager cachemgr)
|
public EHCacheAdapter (CacheManager cachemgr)
|
||||||
|
{
|
||||||
|
this(cachemgr, 1000, 300, 20);
|
||||||
|
}
|
||||||
|
|
||||||
|
public EHCacheAdapter (CacheManager cachemgr, int maxElementsInMemory,
|
||||||
|
int timeToIdleSeconds, int timeToLiveSeconds)
|
||||||
{
|
{
|
||||||
_cachemgr = cachemgr;
|
_cachemgr = cachemgr;
|
||||||
|
|
||||||
|
_maxElementsInMemory = maxElementsInMemory;
|
||||||
|
_timeToIdleSeconds = timeToIdleSeconds;
|
||||||
|
_timeToLiveSeconds = timeToLiveSeconds;
|
||||||
|
|
||||||
CacheManagerPeerListener listener = _cachemgr.getCachePeerListener();
|
CacheManagerPeerListener listener = _cachemgr.getCachePeerListener();
|
||||||
CacheManagerPeerProvider provider = _cachemgr.getCachePeerProvider();
|
CacheManagerPeerProvider provider = _cachemgr.getCachePeerProvider();
|
||||||
if ((provider != null) != (listener != null)) {
|
if ((provider != null) != (listener != null)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user