@Test public void testScheduledExecutorServiceCancelWithFixedDelay() throws InterruptedException { ScheduledExecutor scheduledExecutor = akkaRpcService.getScheduledExecutor(); long delay = 10L; final OneShotLatch futureTask = new OneShotLatch(); final OneShotLatch latch = new OneShotLatch(); final OneShotLatch shouldNotBeTriggeredLatch = new OneShotLatch(); ScheduledFuture<?> future = scheduledExecutor.scheduleWithFixedDelay( () -> { try { if (futureTask.isTriggered()) { shouldNotBeTriggeredLatch.trigger(); } else { futureTask.trigger(); latch.await(); } } catch (InterruptedException ignored) { } }, delay, delay, TimeUnit.MILLISECONDS); futureTask.await(); future.cancel(false); latch.trigger(); try { shouldNotBeTriggeredLatch.await(5 * delay, TimeUnit.MILLISECONDS); fail("The shouldNotBeTriggeredLatch should never be triggered."); } catch (TimeoutException e) { } }
@Override public ScheduledExecutor getScheduledExecutor() { return internalScheduledExecutor; }
AkkaRpcService implements RpcService { @Override public ScheduledExecutor getScheduledExecutor() { return internalScheduledExecutor; } }
AkkaRpcService implements RpcService { @Override public ScheduledExecutor getScheduledExecutor() { return internalScheduledExecutor; } AkkaRpcService(final ActorSystem actorSystem, final AkkaRpcServiceConfiguration configuration); }
AkkaRpcService implements RpcService { @Override public ScheduledExecutor getScheduledExecutor() { return internalScheduledExecutor; } AkkaRpcService(final ActorSystem actorSystem, final AkkaRpcServiceConfiguration configuration); ActorSystem getActorSystem(); @Override String getAddress(); @Override int getPort(); @Override CompletableFuture<C> connect(
			final String address,
			final Class<C> clazz); @Override CompletableFuture<C> connect(String address, F fencingToken, Class<C> clazz); @Override RpcServer startServer(C rpcEndpoint); @Override RpcServer fenceRpcServer(RpcServer rpcServer, F fencingToken); @Override void stopServer(RpcServer selfGateway); @Override CompletableFuture<Void> stopService(); @Override CompletableFuture<Void> getTerminationFuture(); @Override Executor getExecutor(); @Override ScheduledExecutor getScheduledExecutor(); @Override ScheduledFuture<?> scheduleRunnable(Runnable runnable, long delay, TimeUnit unit); @Override void execute(Runnable runnable); @Override CompletableFuture<T> execute(Callable<T> callable); }
AkkaRpcService implements RpcService { @Override public ScheduledExecutor getScheduledExecutor() { return internalScheduledExecutor; } AkkaRpcService(final ActorSystem actorSystem, final AkkaRpcServiceConfiguration configuration); ActorSystem getActorSystem(); @Override String getAddress(); @Override int getPort(); @Override CompletableFuture<C> connect(
			final String address,
			final Class<C> clazz); @Override CompletableFuture<C> connect(String address, F fencingToken, Class<C> clazz); @Override RpcServer startServer(C rpcEndpoint); @Override RpcServer fenceRpcServer(RpcServer rpcServer, F fencingToken); @Override void stopServer(RpcServer selfGateway); @Override CompletableFuture<Void> stopService(); @Override CompletableFuture<Void> getTerminationFuture(); @Override Executor getExecutor(); @Override ScheduledExecutor getScheduledExecutor(); @Override ScheduledFuture<?> scheduleRunnable(Runnable runnable, long delay, TimeUnit unit); @Override void execute(Runnable runnable); @Override CompletableFuture<T> execute(Callable<T> callable);  }