@Override public SubmitterExecutor makeSubmitterExecutor(int poolSize, boolean prestartIfAvailable) { return new RateLimiterExecutor(schedulerFactory.makeSchedulerService(poolSize, prestartIfAvailable), rateLimit); }
@Before public void setup() { scheduler = new TestableScheduler(); limiter = new RateLimiterExecutor(scheduler, 1); }
@Test @SuppressWarnings("unused") public void constructorFail() { try { new RateLimiterExecutor(null, 10); fail("Exception should have thrown"); } catch (IllegalArgumentException e) { // expected } try { new RateLimiterExecutor(scheduler, 0); fail("Exception should have thrown"); } catch (IllegalArgumentException e) { // expected } }
threadNamedScheduler = new ThreadRenamingSubmitterScheduler(scheduler, keyedPoolName, false); v = new RateLimiterExecutor(threadNamedScheduler, permitsPerSecond, maxScheduleDelayMillis, rejectedExecutionHandler); limiterChecker.signalToRun();
threadNamedScheduler = new ThreadRenamingSubmitterScheduler(scheduler, keyedPoolName, false); v = new RateLimiterExecutor(threadNamedScheduler, permitsPerSecond, maxScheduleDelayMillis, rejectedExecutionHandler); limiterChecker.signalToRun();
@Test (expected = RejectedExecutionException.class) public void rejectDueToScheduleDelay() { limiter = new RateLimiterExecutor(scheduler, 1, 1000); limiter.execute(2000, DoNothingRunnable.instance()); limiter.execute(DoNothingRunnable.instance()); }
PriorityScheduler pse = new StrictPriorityScheduler(32); try { RateLimiterExecutor rls = new RateLimiterExecutor(pse, rateLimit); ListenableFuture<?> lastFuture = null; double startTime = Clock.accurateForwardProgressingMillis();