La limitation des appels de méthode à l'aide de Goyave RateLimiter classe

Je suis en train d'essayer de limiter le nombre d'appels à une méthode par seconde.
J'ai essayé de réaliser cela à l'aide de Goyave RateLimiter.

RateLimiter rateLimiter = RateLimiter.create(1.0);//Max 1 call per sec
rateLimiter.acquire();
performOperation();//The method whose calls are to be throttled.

Cependant les méthodes de l'appel ne sont pas limités à 1 par seconde, mais sont continues.

La limitation peut être réalisé à l'aide de Fil.sleep (), mais je souhaite utiliser la Goyave plutôt que sleep().

Je voudrais savoir la bonne façon de parvenir à l'appel de la méthode trottling à l'aide de Goyave RateLimiter.
J'ai vérifié la documentation pour RateLimiter et essayé d'utiliser la même mais ne pouvait pas obtenir le résultat souhaité.

Êtes-vous créer un nouveau RateLimiter avant chaque invocation?

OriginalL'auteur sujith | 2015-08-07