io.vertx.core.Handler.handle()方法的使用及代码示例

x33g5p2x  于2022-01-20 转载在 其他  
字(8.2k)|赞(0)|评价(0)|浏览(146)

本文整理了Java中io.vertx.core.Handler.handle()方法的一些代码示例,展示了Handler.handle()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Handler.handle()方法的具体详情如下:
包路径:io.vertx.core.Handler
类名称:Handler
方法名:handle

Handler.handle介绍

[英]Something has happened, so handle it.
[中]发生了什么事,所以要处理它。

代码示例

代码示例来源:origin: eclipse-vertx/vert.x

@Override
public HttpServerResponse push(HttpMethod method, String host, String path, MultiMap headers, Handler<AsyncResult<HttpServerResponse>> handler) {
 handler.handle(Future.failedFuture("Push promise is only supported with HTTP2"));
 return this;
}

代码示例来源:origin: eclipse-vertx/vert.x

private void notifyHandler(ChannelFuture future) {
  if (future.isSuccess()) {
   handler.handle(Future.succeededFuture(result));
  } else {
   handler.handle(Future.failedFuture(future.cause()));
  }
 }
}

代码示例来源:origin: eclipse-vertx/vert.x

@Override
public void clear(Handler<AsyncResult<Void>> resultHandler) {
 map.clear();
 resultHandler.handle(Future.succeededFuture());
}

代码示例来源:origin: eclipse-vertx/vert.x

@Override
public <K, V> void getClusterWideMap(String name, Handler<AsyncResult<AsyncMap<K, V>>> resultHandler) {
 Objects.requireNonNull(name, "name");
 Objects.requireNonNull(resultHandler, "resultHandler");
 if (clusterManager == null) {
  throw new IllegalStateException("Can't get cluster wide map if not clustered");
 }
 clusterManager.<K, V>getAsyncMap(name, ar -> {
  if (ar.succeeded()) {
   // Wrap it
   resultHandler.handle(Future.succeededFuture(new WrappedAsyncMap<K, V>(ar.result())));
  } else {
   resultHandler.handle(Future.failedFuture(ar.cause()));
  }
 });
}

代码示例来源:origin: vert-x3/vertx-examples

private void query(SQLConnection conn, String sql, Handler<ResultSet> done) {
 conn.query(sql, res -> {
  if (res.failed()) {
   throw new RuntimeException(res.cause());
  }
  done.handle(res.result());
 });
}

代码示例来源:origin: eclipse-vertx/vert.x

check();
Handler<AsyncResult<Void>> wrapped = ar -> {
 if (ar.succeeded()) {
  checkContext();
  Runnable action;
   handler.handle(ar);
   handler.handle(ar);
  } else {
   handleException(ar.cause());

代码示例来源:origin: eclipse-vertx/vert.x

private synchronized void doUndeployChildren(ContextInternal undeployingContext, Handler<AsyncResult<Void>> completionHandler) {
 if (!children.isEmpty()) {
  final int size = children.size();
  AtomicInteger childCount = new AtomicInteger();
  boolean undeployedSome = false;
  for (Deployment childDeployment: new HashSet<>(children)) {
   undeployedSome = true;
   childDeployment.doUndeploy(undeployingContext, ar -> {
    children.remove(childDeployment);
    if (ar.failed()) {
     reportFailure(ar.cause(), undeployingContext, completionHandler);
    } else if (childCount.incrementAndGet() == size) {
     // All children undeployed
     completionHandler.handle(Future.succeededFuture());
    }
   });
  }
  if (!undeployedSome) {
   // It's possible that children became empty before iterating
   completionHandler.handle(Future.succeededFuture());
  }
 } else {
  completionHandler.handle(Future.succeededFuture());
 }
}

代码示例来源:origin: eclipse-vertx/vert.x

/**
 * Create a blank new clustered Vert.x instance with @{@code options} closed when tear down executes.
 */
protected void clusteredVertx(VertxOptions options, Handler<AsyncResult<Vertx>> ar) {
 if (created == null) {
  created = Collections.synchronizedList(new ArrayList<>());
 }
 Vertx.clusteredVertx(options, event -> {
  if (event.succeeded()) {
   created.add(event.result());
  }
  ar.handle(event);
 });
}

代码示例来源:origin: eclipse-vertx/vert.x

@SuppressWarnings("unchecked")
 @Override
 public void handle(AsyncResult event) {
  if (event.failed()) {
   handler.handle(event);
  } else {
   List<String> txts = new ArrayList<>();
   List<List<String>> records = (List<List<String>>) event.result();
   for (List<String> txt: records) {
    txts.addAll(txt);
   }
   handler.handle(Future.succeededFuture(txts));
  }
 }
}, DnsRecordType.TXT);

代码示例来源:origin: eclipse-vertx/vert.x

@Override
public void handle(AsyncResult<DatagramSocket> event) {
 if (event.failed() && exceptionHandler != null) {
  exceptionHandler.handle(event.cause());
 }
}

代码示例来源:origin: eclipse-vertx/vert.x

private void removeSub(String subName, ClusterNodeInfo node, Handler<AsyncResult<Void>> completionHandler) {
 subs.remove(subName, node, ar -> {
  if (!ar.succeeded()) {
   log.error("Failed to remove sub", ar.cause());
  } else {
   if (ar.result()) {
    if (completionHandler != null) {
     completionHandler.handle(Future.succeededFuture());
    }
   } else {
    if (completionHandler != null) {
     completionHandler.handle(Future.failedFuture("sub not found"));
    }
   }
  }
 });
}

代码示例来源:origin: eclipse-vertx/vert.x

private void executeCloseDone(ContextInternal closeContext, Handler<AsyncResult<Void>> done, Exception e) {
 if (done != null) {
  Future<Void> fut = e == null ? Future.succeededFuture() : Future.failedFuture(e);
  closeContext.runOnContext(v -> done.handle(fut));
 }
}

代码示例来源:origin: vert-x3/vertx-examples

private void query(SQLConnection conn, String sql, Handler<ResultSet> done) {
 conn.query(sql, res -> {
  if (res.failed()) {
   throw new RuntimeException(res.cause());
  }
  done.handle(res.result());
 });
}

代码示例来源:origin: eclipse-vertx/vert.x

@Override
public NetSocket upgradeToSsl(String serverName, Handler<Void> handler) {
 ChannelOutboundHandler sslHandler = (ChannelOutboundHandler) chctx.pipeline().get("ssl");
 if (sslHandler == null) {
  chctx.pipeline().addFirst("handshaker", new SslHandshakeCompletionHandler(ar -> {
   if (ar.succeeded()) {
    handler.handle(null);
   } else {
    chctx.channel().closeFuture();
    handleException(ar.cause());
   }
  }));
  if (remoteAddress != null) {
   sslHandler = new SslHandler(helper.createEngine(vertx, remoteAddress, serverName));
  } else {
   if (helper.isSNI()) {
    sslHandler = new SniHandler(helper.serverNameMapper(vertx));
   } else {
    sslHandler = new SslHandler(helper.createEngine(vertx));
   }
  }
  chctx.pipeline().addFirst("ssl", sslHandler);
 }
 return this;
}

代码示例来源:origin: eclipse-vertx/vert.x

@Override
public void values(Handler<AsyncResult<List<V>>> asyncResultHandler) {
 List<V> result = map.values().stream()
  .filter(Holder::hasNotExpired)
  .map(h -> h.value)
  .collect(toList());
 asyncResultHandler.handle(Future.succeededFuture(result));
}

代码示例来源:origin: eclipse-vertx/vert.x

private void closeClusterManager(Handler<AsyncResult<Void>> completionHandler) {
 if (clusterManager != null) {
  clusterManager.leave(ar -> {
   if (ar.failed()) {
    log.error("Failed to leave cluster", ar.cause());
   }
   if (completionHandler != null) {
    runOnContext(v -> completionHandler.handle(Future.succeededFuture()));
   }
  });
 } else if (completionHandler != null) {
  runOnContext(v -> completionHandler.handle(Future.succeededFuture()));
 }
}

代码示例来源:origin: eclipse-vertx/vert.x

@Test
public void testFailedDeployRunsContextShutdownHook() throws Exception {
 AtomicBoolean closeHookCalledBeforeDeployFailure = new AtomicBoolean(false);
 Closeable closeable = completionHandler -> {
  closeHookCalledBeforeDeployFailure.set(true);
  completionHandler.handle(Future.succeededFuture());
 };
 Verticle v = new AbstractVerticle() {
  @Override
  public void start(Future<Void> startFuture) throws Exception {
   this.context.addCloseHook(closeable);
   startFuture.fail("Fail to deploy.");
  }
 };
 vertx.deployVerticle(v, asyncResult -> {
  assertTrue(closeHookCalledBeforeDeployFailure.get());
  assertTrue(asyncResult.failed());
  assertNull(asyncResult.result());
  testComplete();
 });
 await();
}

代码示例来源:origin: eclipse-vertx/vert.x

void timeout() {
 if (status.compareAndSet(Status.WAITING, Status.TIMED_OUT)) {
  handler.handle(Future.failedFuture("Timed out waiting to get lock"));
 }
}

代码示例来源:origin: eclipse-vertx/vert.x

/**
 * Undeploys  the previously deployed verticle.
 *
 * @param completionHandler the completion handler
 */
public void undeploy(Handler<AsyncResult<Void>> completionHandler) {
 vertx.undeploy(deploymentId, res -> {
  if (res.failed()) {
   log.error("Failed in undeploying " + deploymentId, res.cause());
  } else {
   log.info("Succeeded in undeploying " + deploymentId);
  }
  deploymentId = null;
  completionHandler.handle(res);
 });
}

代码示例来源:origin: eclipse-vertx/vert.x

@Override
public <K, V> void getAsyncMap(String name, Handler<AsyncResult<AsyncMap<K, V>>> resultHandler) {
 Objects.requireNonNull(name, "name");
 Objects.requireNonNull(resultHandler, "resultHandler");
 if (clusterManager == null) {
  getLocalAsyncMap(name, resultHandler);
 } else {
  clusterManager.<K, V>getAsyncMap(name, ar -> {
   if (ar.succeeded()) {
    // Wrap it
    resultHandler.handle(Future.succeededFuture(new WrappedAsyncMap<K, V>(ar.result())));
   } else {
    resultHandler.handle(Future.failedFuture(ar.cause()));
   }
  });
 }
}

相关文章

微信公众号

最新文章

更多

Handler类方法