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:
Par Winzell
2008-11-05 00:18:21 +00:00
parent bac0348951
commit 49391b1995
@@ -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)) {