@Override public void notifyLeaderAddress(String leaderAddress, final UUID leaderSessionID) { if (LOG.isDebugEnabled()) { LOG.debug("Received leader address notification {}:{}", leaderAddress, leaderSessionID); } if (leaderAddress == null) { jobManagerFuture = UNKNOWN_JOB_MANAGER; } else { jobManagerFuture = AkkaUtils.getActorRefFuture(leaderAddress, actorSystem, askTimeout) .map(new Mapper<ActorRef, ActorGateway>() { @Override public ActorGateway apply(ActorRef actorRef) { return new AkkaActorGateway(actorRef, leaderSessionID); } }, actorSystem.dispatcher()); } }
@Override protected CompletableFuture<JobManagerGateway> createGateway(CompletableFuture<Tuple2<String, UUID>> leaderFuture) { return FutureUtils.retryWithDelay( () -> leaderFuture.thenCompose( (Tuple2<String, UUID> addressLeaderId) -> FutureUtils.toJava( AkkaUtils.getActorRefFuture( addressLeaderId.f0, actorSystem, FutureUtils.toFiniteDuration(timeout))) .thenApply( (ActorRef jobManagerRef) -> { ActorGateway leaderGateway = new AkkaActorGateway( jobManagerRef, addressLeaderId.f1); return new AkkaJobManagerGateway(leaderGateway); } )), retries, retryDelay, scheduledExecutor); } }
@Override protected CompletableFuture<JobManagerGateway> createGateway(CompletableFuture<Tuple2<String, UUID>> leaderFuture) { return FutureUtils.retryWithDelay( () -> leaderFuture.thenCompose( (Tuple2<String, UUID> addressLeaderId) -> FutureUtils.toJava( AkkaUtils.getActorRefFuture( addressLeaderId.f0, actorSystem, FutureUtils.toFiniteDuration(timeout))) .thenApply( (ActorRef jobManagerRef) -> { ActorGateway leaderGateway = new AkkaActorGateway( jobManagerRef, addressLeaderId.f1); return new AkkaJobManagerGateway(leaderGateway); } )), retries, retryDelay, scheduledExecutor); } }
@Override public void notifyLeaderAddress(final String leaderAddress, final UUID leaderSessionID) { if(leaderAddress != null && !leaderAddress.equals("") && !futureActorGateway.isCompleted()) { AkkaUtils.getActorRefFuture(leaderAddress, actorSystem, timeout) .map(new Mapper<ActorRef, ActorGateway>() { public ActorGateway apply(ActorRef ref) { return new AkkaActorGateway(ref, leaderSessionID); } }, actorSystem.dispatcher()) .onComplete(new OnComplete<ActorGateway>() { @Override public void onComplete(Throwable failure, ActorGateway success) throws Throwable { if (failure == null) { completePromise(success); } else { LOG.debug("Could not retrieve the leader for address " + leaderAddress + ".", failure); } } }, actorSystem.dispatcher()); } }
@Override public void notifyLeaderAddress(final String leaderAddress, final UUID leaderSessionID) { if(leaderAddress != null && !leaderAddress.equals("") && !futureActorGateway.isCompleted()) { AkkaUtils.getActorRefFuture(leaderAddress, actorSystem, timeout) .map(new Mapper<ActorRef, ActorGateway>() { public ActorGateway apply(ActorRef ref) { return new AkkaActorGateway(ref, leaderSessionID); } }, actorSystem.dispatcher()) .onComplete(new OnComplete<ActorGateway>() { @Override public void onComplete(Throwable failure, ActorGateway success) throws Throwable { if (failure == null) { completePromise(success); } else { LOG.debug("Could not retrieve the leader for address " + leaderAddress + ".", failure); } } }, actorSystem.dispatcher()); } }
@Override protected CompletableFuture<JobManagerGateway> createGateway(CompletableFuture<Tuple2<String, UUID>> leaderFuture) { return FutureUtils.retryWithDelay( () -> leaderFuture.thenCompose( (Tuple2<String, UUID> addressLeaderId) -> FutureUtils.toJava( AkkaUtils.getActorRefFuture( addressLeaderId.f0, actorSystem, FutureUtils.toFiniteDuration(timeout))) .thenApply( (ActorRef jobManagerRef) -> { ActorGateway leaderGateway = new AkkaActorGateway( jobManagerRef, addressLeaderId.f1); return new AkkaJobManagerGateway(leaderGateway); } )), retries, retryDelay, scheduledExecutor); } }
@Override public void notifyLeaderAddress(final String leaderAddress, final UUID leaderSessionID) { if(leaderAddress != null && !leaderAddress.equals("") && !futureActorGateway.isCompleted()) { AkkaUtils.getActorRefFuture(leaderAddress, actorSystem, timeout) .map(new Mapper<ActorRef, ActorGateway>() { public ActorGateway apply(ActorRef ref) { return new AkkaActorGateway(ref, leaderSessionID); } }, actorSystem.dispatcher()) .onComplete(new OnComplete<ActorGateway>() { @Override public void onComplete(Throwable failure, ActorGateway success) throws Throwable { if (failure == null) { completePromise(success); } else { LOG.debug("Could not retrieve the leader for address " + leaderAddress + ".", failure); } } }, actorSystem.dispatcher()); } }
@Override public void notifyLeaderAddress(final String leaderAddress, final UUID leaderSessionID) { if(leaderAddress != null && !leaderAddress.equals("") && !futureActorGateway.isCompleted()) { AkkaUtils.getActorRefFuture(leaderAddress, actorSystem, timeout) .map(new Mapper<ActorRef, ActorGateway>() { public ActorGateway apply(ActorRef ref) { return new AkkaActorGateway(ref, leaderSessionID); } }, actorSystem.dispatcher()) .onComplete(new OnComplete<ActorGateway>() { @Override public void onComplete(Throwable failure, ActorGateway success) throws Throwable { if (failure == null) { completePromise(success); } else { LOG.debug("Could not retrieve the leader for address " + leaderAddress + ".", failure); } } }, actorSystem.dispatcher()); } }
AkkaUtils.getActorRefFuture(leaderAddress, actorSystem, lookupTimeout)
AkkaUtils.getActorRefFuture(msg.address(), getContext().system(), timeout) .onSuccess(new OnSuccess<ActorRef>() { @Override
AkkaUtils.getActorRefFuture(msg.address(), getContext().system(), timeout) .onSuccess(new OnSuccess<ActorRef>() { @Override
AkkaUtils.getActorRefFuture(msg.address(), getContext().system(), timeout) .onSuccess(new OnSuccess<ActorRef>() { @Override
AkkaUtils.getActorRefFuture(msg.address(), getContext().system(), timeout) .onSuccess(new OnSuccess<ActorRef>() { @Override