public InMemoryConcurrentRequestRateLimiter(ConcurrentLimitRule rule) { this.rule = rule; expiringKeyMap = ExpiringMap.builder().expiration(rule.getTimeoutMillis(), MILLISECONDS).expirationPolicy(ACCESSED).build(); }
protected void initialize() throws PerunException { // gets session for a system principal "perunRegistrar" final PerunPrincipal pp = new PerunPrincipal("perunRegistrar", ExtSourcesManager.EXTSOURCE_NAME_INTERNAL, ExtSourcesManager.EXTSOURCE_INTERNAL); registrarSession = perun.getPerunSession(pp, new PerunClient()); // cache expires after 5 minutes from creation requestCache = ExpiringMap.builder().expiration(5, TimeUnit.MINUTES).expirationPolicy(ExpiringMap.ExpirationPolicy.CREATED).build(); }
public ExpiringMapPolicy(Config config) { policyStats = new PolicyStats("product.ExpiringMap"); ExpiringMapSettings settings = new ExpiringMapSettings(config); cache = ExpiringMap.builder() .expirationPolicy(settings.policy()) .maxSize(settings.maximumSize()) .build(); }
public ExpiringMapPolicy(Config config) { policyStats = new PolicyStats("product.ExpiringMap"); ExpiringMapSettings settings = new ExpiringMapSettings(config); cache = ExpiringMap.builder() .expirationPolicy(settings.policy()) .maxSize(settings.maximumSize()) .build(); }