org.jooby.funzy.Try.run()方法的使用及代码示例

x33g5p2x  于2022-01-30 转载在 其他  
字(5.8k)|赞(0)|评价(0)|浏览(98)

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

Try.run介绍

[英]Creates a side effect try from given runnable. Don't forget to either throw or log the exception in case of failure. Unless, of course you don't care about the exception. Log the exception:

Try.run(() -> ...)

Throw the exception:

Try.run(() -> ...)

[中]从给定runnable创建副作用尝试。如果失败,不要忘记抛出或记录异常。除非,你当然不在乎例外。记录异常:

Try.run(() -> ...)

抛出异常:

Try.run(() -> ...)

代码示例

代码示例来源:origin: jooby-project/jooby

/**
 * Release nodejs and v8 resources.
 */
public void release() {
 Try.run(scope::release);
 node.release();
}

代码示例来源:origin: jooby-project/jooby

@Override
public void writeSuccess() {
 Try.run(success::invoke)
   .onFailure(cause -> log.error("Error while invoking success callback", cause));
}

代码示例来源:origin: jooby-project/jooby

@Override
 public void run() {
  if (watcher != null) {
   log.debug("stopping: watcher");
   Try.run(watcher::stop).onFailure(ex -> log.debug("Stop of watcher resulted in error", ex));
  }
  commands.forEach(cmd -> {
   log.debug("stopping: " + cmd);
   Try.run(cmd::stop).onFailure(ex -> log.error("Stop of " + cmd + " resulted in error", ex));
  });
 }
}

代码示例来源:origin: jooby-project/jooby

protected void fireCloseEvent() {
 Throwing.Runnable task = onclose.getAndSet(null);
 if (task != null) {
  Try.run(task).onFailure(ex -> log.error("close callback resulted in error", ex));
 }
}

代码示例来源:origin: jooby-project/jooby

public void close() throws Exception {
 reporters.forEach(r -> Try.run(r::close)
   .onFailure(cause -> log.error("close of {} resulted in error", r, cause)));
}

代码示例来源:origin: jooby-project/jooby

public void shutdown() {
 drivers.forEach(it -> Try.run(it::close));
 super.stop();
}

代码示例来源:origin: jooby-project/jooby

private static List<URI> expandPath(final ClassLoader loader, final String pattern) {
 List<URI> result = new ArrayList<>();
 File file = new File(pattern);
 if (file.exists()) {
  result.add(file.toURI());
 }
 Try.run(() -> Collections.list(loader.getResources(pattern))
   .stream()
   .map(it -> Try.apply(it::toURI).get())
   .forEach(result::add));
 return result;
}

代码示例来源:origin: jooby-project/jooby

@Override public void writeResponseContent(String content) {
 Try.run(() -> rsp.send(content));
}

代码示例来源:origin: jooby-project/jooby

private Jooby hackInjector(final Jooby app) {
 Try.run(() -> {
  Field field = Jooby.class.getDeclaredField("injector");
  field.setAccessible(true);
  Injector injector = proxyInjector(getClass().getClassLoader(), registry);
  field.set(app, injector);
  registry.put(Key.get(Injector.class), injector);
 }).throwException();
 return app;
}

代码示例来源:origin: jooby-project/jooby

private String sha1(final File dir, final File sprite, final File css) throws IOException {
 try (Stream<Path> stream = Files.walk(dir.toPath())) {
  Hasher sha1 = Hashing.sha1().newHasher();
  stream.filter(p -> !Files.isDirectory(p))
    .forEach(p -> Try.run(() -> sha1.putBytes(Files.readAllBytes(p))));
  if (sprite.exists()) {
   sha1.putBytes(Files.readAllBytes(sprite.toPath()));
  }
  if (css.exists()) {
   sha1.putBytes(Files.readAllBytes(css.toPath()));
  }
  return BaseEncoding.base16().encode(sha1.hash().asBytes()).toLowerCase();
 }
}

代码示例来源:origin: jooby-project/jooby

private static void fireStop(final Jooby app, final Logger log,
  final List<Throwing.Consumer<Registry>> onStop) {
 // stop services
 onStop.forEach(c -> Try.run(() -> c.accept(app))
   .onFailure(x -> log.error("shutdown of {} resulted in error", c, x)));
}

代码示例来源:origin: jooby-project/jooby

public static void forceConverter(final AsyncRepository repo, final JacksonMapper converter) {
  Try.run(() -> FIELD.apply(repo.getClass()).set(repo, converter))
    .onFailure(x -> log.warn("Set converter resulted in error", x));
 }
}

代码示例来源:origin: jooby-project/jooby

@Override
 public void writeFailed(final Throwable cause) {
  Try.run(() -> err.onError(cause))
    .onFailure(ex -> log.error("Error while invoking err callback", ex));
 }
};

代码示例来源:origin: jooby-project/jooby

public void done(final Optional<Throwable> cause) {
 if (complete.size() > 0) {
  for (Route.Complete h : complete) {
   Try.run(() -> h.handle(req, this, cause))
     .onFailure(x -> LoggerFactory.getLogger(Response.class)
       .error("complete listener resulted in error", x));
  }
  complete.clear();
 }
 end();
}

代码示例来源:origin: jooby-project/jooby

@Override
protected void closeInternal() {
 Try.run(() -> rsp.closeOutput())
   .onFailure(cause -> log.debug("error while closing connection", cause));
}

代码示例来源:origin: jooby-project/jooby

static Handler tryPage(final Handler handler, final Logger log) {
 return (req, rsp, ex) -> Try.run(() -> handler.handle(req, rsp, ex)).onFailure(cause -> log.debug("execution of pretty err page resulted in exception", cause));
}

代码示例来源:origin: jooby-project/jooby

@Override
public void run() {
 String sseId = sse.id();
 log.debug("running heart beat for {}", sseId);
 Try.run(() -> sse.send(Optional.of(sseId), HEART_BEAT).whenComplete((id, x) -> {
  if (x != null) {
   log.debug("connection lost for {}", sseId, x);
   sse.fireCloseEvent();
   Try.run(sse::close);
  } else {
   log.debug("reschedule heart beat for {}", id);
   // reschedule
   sse.keepAlive(retry);
  }
 }));
}

代码示例来源:origin: jooby-project/jooby

public void release() {
 Try.run(mem::release)
   .onComplete(() -> releaseNow(v8));
}

代码示例来源:origin: jooby-project/jooby

private void handleErr(final Throwable cause) {
 Try.run(() -> {
  if (SILENT.test(cause)) {
   log.debug("execution of WS" + path() + " resulted in exception", cause);
  } else {
   exceptionCallback.onError(cause);
  }
 })
   .onComplete(() -> cleanup(cause))
   .throwException();
}

代码示例来源:origin: jooby-project/jooby

/**
  * Execute the given nodejs callback and automatically releaseNow v8 and nodejs resources.
  *
  * @param basedir Base dir where to deploy a library.
  * @param callback Nodejs callback.
  */
 public static void run(final File basedir, final Throwing.Consumer<Nodejs> callback) {
  Nodejs node = new Nodejs(basedir);
  Try.run(() -> callback.accept(node))
    .onComplete(node::release)
    .throwException();
 }
}

相关文章