本文整理了Java中scala.concurrent.Future.onComplete()
方法的一些代码示例,展示了Future.onComplete()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Future.onComplete()
方法的具体详情如下:
包路径:scala.concurrent.Future
类名称:Future
方法名:onComplete
暂无
代码示例来源:origin: apache/flink
actorSystem.terminate().onComplete(
new OnComplete<Terminated>() {
public void onComplete(Throwable failure, Terminated result) {
代码示例来源:origin: org.deeplearning4j/deeplearning4j-scaleout-akka
public static <T> void throwExceptionIfExists(Future<T> f,ExecutionContext context) {
f.onComplete(new OnComplete<T>() {
@Override
public void onComplete(Throwable arg0, T arg1) throws Throwable {
if(arg0 != null)
throw arg0;
}
}, context);
}
代码示例来源:origin: opendaylight/controller
void getBucketVersions(final Consumer<Map<Address, Long>> callback) {
Patterns.ask(actorRef, Singletons.GET_BUCKET_VERSIONS, timeout).onComplete(new OnComplete<Object>() {
@SuppressWarnings("unchecked")
@Override
public void onComplete(final Throwable failure, final Object success) {
if (failure == null) {
callback.accept((Map<Address, Long>) success);
}
}
}, dispatcher);
}
代码示例来源:origin: org.opendaylight.controller/sal-distributed-datastore
private Future<Object> completeOperation(Future<Object> operationFuture){
operationFuture.onComplete(limiter, actorContext.getClientDispatcher());
return operationFuture;
}
代码示例来源:origin: vert-x3/vertx-mysql-postgresql-client
public static <T> Future<T> scalaToVertx(scala.concurrent.Future<T> future, ExecutionContext ec) {
Future<T> fut = Future.future();
future.onComplete(new AbstractFunction1<Try<T>, Void>() {
@Override
public Void apply(Try<T> v1) {
if (v1.isSuccess()) {
fut.complete(v1.get());
} else {
fut.fail(v1.failed().get());
}
return null;
}
}, ec);
return fut;
}
代码示例来源:origin: com.outbrain.swinfra/ob1k-db
@Override
public void produce(final Consumer<T> consumer) {
final Future<T> future = source.provide();
future.onComplete(new AbstractFunction1<Try<T>, Void>() {
@Override public Void apply(final Try<T> res) {
if (res.isSuccess()) {
consumer.consume(com.outbrain.ob1k.concurrent.Try.fromValue(res.get()));
} else {
consumer.consume(com.outbrain.ob1k.concurrent.Try.<T>fromError(res.failed().get()));
}
return null;
}
}, ctx);
}
});
代码示例来源:origin: vert-x3/vertx-mysql-postgresql-client
@Override
public SQLConnection execute(String sql, Handler<AsyncResult<Void>> handler) {
beginTransactionIfNeeded(v -> {
final scala.concurrent.Future<QueryResult> future = connection.sendQuery(sql);
future.onComplete(ScalaUtils.toFunction1(ar -> {
if (ar.succeeded()) {
handler.handle(Future.succeededFuture());
} else {
handler.handle(Future.failedFuture(ar.cause()));
}
}), executionContext);
});
return this;
}
代码示例来源:origin: opendaylight/controller
<T extends BucketData<T>> void getBucketsByMembers(final Collection<Address> members,
final Consumer<Map<Address, Bucket<T>>> callback) {
Patterns.ask(actorRef, getBucketsByMembersMessage(members), timeout)
.onComplete(new OnComplete<Object>() {
@SuppressWarnings("unchecked")
@Override
public void onComplete(final Throwable failure, final Object success) {
if (failure == null) {
callback.accept((Map<Address, Bucket<T>>) success);
}
}
}, dispatcher);
}
代码示例来源:origin: org.opendaylight.controller/sal-distributed-datastore
private void executeEntityOwnershipShardOperation(final ActorRef shardActor, final Object message) {
Future<Object> future = context.executeOperationAsync(shardActor, message, MESSAGE_TIMEOUT);
future.onComplete(new OnComplete<Object>() {
@Override
public void onComplete(final Throwable failure, final Object response) {
if(failure != null) {
LOG.debug("Error sending message {} to {}", message, shardActor, failure);
} else {
LOG.debug("{} message to {} succeeded", message, shardActor, failure);
}
}
}, context.getClientDispatcher());
}
代码示例来源:origin: opendaylight/controller
protected void completeWith(final Future<Object> future) {
future.onComplete(new FutureUpdater(), ExecutionContext.Implicits$.MODULE$.global());
}
代码示例来源:origin: org.opendaylight.controller/sal-remoterpc-connector
protected void completeWith(final Future<Object> future) {
future.onComplete(new FutureUpdater(), ExecutionContext.Implicits$.MODULE$.global());
}
代码示例来源:origin: org.opendaylight.controller/sal-cluster-admin
private <T> ListenableFuture<T> ask(ActorRef actor, Object message, Timeout timeout) {
final SettableFuture<T> returnFuture = SettableFuture.create();
@SuppressWarnings("unchecked")
scala.concurrent.Future<T> askFuture = (scala.concurrent.Future<T>) Patterns.ask(actor, message, timeout);
askFuture.onComplete(new OnComplete<T>() {
@Override
public void onComplete(Throwable failure, T resp) {
if(failure != null) {
returnFuture.setException(failure);
} else {
returnFuture.set(resp);
}
}
}, configDataStore.getActorContext().getClientDispatcher());
return returnFuture;
}
代码示例来源:origin: vert-x3/vertx-mysql-postgresql-client
private synchronized void createAndConnect(Handler<AsyncResult<Connection>> handler) {
try {
create()
.connect()
.onComplete(ScalaUtils.toFunction1(handler), VertxEventLoopExecutionContext.create(vertx));
} catch (Throwable e) {
logger.info("creating a connection went wrong", e);
handler.handle(Future.failedFuture(e));
}
}
代码示例来源:origin: org.opendaylight.controller/sal-distributed-datastore
private void tryFindPrimaryShard() {
LOG.debug("Tx {} Retrying findPrimaryShardAsync for shard {}", getIdentifier(), shardName);
this.primaryShardInfo = null;
Future<PrimaryShardInfo> findPrimaryFuture = getActorContext().findPrimaryShardAsync(shardName);
findPrimaryFuture.onComplete(new OnComplete<PrimaryShardInfo>() {
@Override
public void onComplete(final Throwable failure, final PrimaryShardInfo primaryShardInfo) {
onFindPrimaryShardComplete(failure, primaryShardInfo);
}
}, getActorContext().getClientDispatcher());
}
代码示例来源:origin: vert-x3/vertx-mysql-postgresql-client
@Override
public SQLConnection update(String sql, Handler<AsyncResult<UpdateResult>> handler) {
beginTransactionIfNeeded(v -> {
final scala.concurrent.Future<QueryResult> future = connection.sendQuery(sql);
future.onComplete(ScalaUtils.toFunction1(handleAsyncUpdateResultToResultSet(handler)), executionContext);
});
return this;
}
代码示例来源:origin: org.opendaylight.controller/sal-distributed-datastore
private void sendCanCommitTransaction(CohortInfo toCohortInfo, OnComplete<Object> onComplete) {
CanCommitTransaction message = new CanCommitTransaction(transactionId, toCohortInfo.getActorVersion());
if(LOG.isDebugEnabled()) {
LOG.debug("Tx {}: sending {} to {}", transactionId, message, toCohortInfo.getResolvedActor());
}
Future<Object> future = actorContext.executeOperationAsync(toCohortInfo.getResolvedActor(),
message.toSerializable(), actorContext.getTransactionCommitOperationTimeout());
future.onComplete(onComplete, actorContext.getClientDispatcher());
}
代码示例来源:origin: org.opendaylight.netconf/netconf-topology
private void registerProvidedSourcesToSchemaRegistry() {
Future<Set<SourceIdentifier>> sourcesFuture = remoteYangTextSourceProvider.getProvidedSources();
resolvedSourcesPromise.completeWith(sourcesFuture);
final RemoteSchemaProvider remoteProvider = new RemoteSchemaProvider(remoteYangTextSourceProvider, actorSystem.dispatcher());
sourcesFuture.onComplete(new OnComplete<Set<SourceIdentifier>>() {
@Override
public void onComplete(Throwable throwable, Set<SourceIdentifier> sourceIdentifiers) throws Throwable {
for (SourceIdentifier sourceId : sourceIdentifiers) {
sourceRegistrations.add(schemaRegistry.registerSchemaSource(remoteProvider,
PotentialSchemaSource.create(sourceId, YangTextSchemaSource.class, PotentialSchemaSource.Costs.REMOTE_IO.getValue())));
}
}
}, actorSystem.dispatcher());
}
代码示例来源:origin: vert-x3/vertx-mysql-postgresql-client
@Override
public SQLConnection updateWithParams(String sql, JsonArray params, Handler<AsyncResult<UpdateResult>> handler) {
beginTransactionIfNeeded(v -> {
final scala.concurrent.Future<QueryResult> future = connection.sendPreparedStatement(sql,
ScalaUtils.toScalaList(params.getList()));
future.onComplete(ScalaUtils.toFunction1(handleAsyncUpdateResultToResultSet(handler)), executionContext);
});
return this;
}
代码示例来源:origin: vert-x3/vertx-mysql-postgresql-client
@Override
public SQLConnection queryWithParams(String sql, JsonArray params, Handler<AsyncResult<ResultSet>> handler) {
beginTransactionIfNeeded(v -> {
final scala.concurrent.Future<QueryResult> future = connection.sendPreparedStatement(sql,
ScalaUtils.toScalaList(params.getList()));
future.onComplete(ScalaUtils.toFunction1(handleAsyncQueryResultToResultSet(handler)), executionContext);
});
return this;
}
代码示例来源:origin: baekjunlim/AkkaStarting
@Override
public void onReceive(Object message) throws Exception {
if (message instanceof Integer) {
Future<Object> future = Patterns.ask(child, message, timeout);
// onSuccess, onComplete, onFailure 등은 blocking 동작이 아니다.
future.onSuccess(new SaySuccess<Object>(), ec);
future.onComplete(new SayComplete<Object>(), ec);
future.onFailure(new SayFailure<Object>(), ec);
} else if (message instanceof String) {
log.info("NonblockingActor received a messasge: " + message);
}
}
内容来源于网络,如有侵权,请联系作者删除!