@Override public void send(final ByteBuffer buffer) throws Exception { Try.of(Channels.newChannel(rsp.getOutputStream())) .run(channel -> channel.write(buffer)) .onSuccess(() -> committed = true); }
public void end() { try { if (rollbackOnly) { rollback(); } else { commit(); } } finally { if (readOnly) { setConnectionReadOnly(false); } String sessionId = oid(session); log.debug("closing session: {}", sessionId); Try.run(session::close) .onFailure(x -> log.error("session.close() resulted in exception: {}", sessionId, x)) .onSuccess(() -> log.debug("session closed: {}", sessionId)); unbind(session.getSessionFactory()); } }
.onSuccess(() -> callback.call(null, null)) .onFailure(x -> { log.debug("png-fallback resulted in exception", x);
@Override default void handle(final Request req, final Response rsp, final Chain chain) throws Throwable { Sse sse = req.require(Sse.class); String path = req.path(); rsp.send(new Deferred(deferred -> { try { sse.handshake(req, () -> { Try.run(() -> handle(req, sse)) .onSuccess(() -> deferred.resolve(null)) .onFailure(ex -> { deferred.reject(ex); Logger log = LoggerFactory.getLogger(Sse.class); log.error("execution of {} resulted in error", path, ex); }); }); } catch (Exception ex) { deferred.reject(ex); } })); }
/** * Run the given action if and only if this is a success. * * @param action Success listener. * @return This try. */ @Override public Value<V> onSuccess(final Runnable action) { super.onSuccess(action); return this; }
@Override public void send(final ByteBuffer buffer) throws Exception { Try.of(Channels.newChannel(rsp.getOutputStream())) .run(channel -> channel.write(buffer)) .onSuccess(() -> committed = true); }
public void end() { try { if (rollbackOnly) { rollback(); } else { commit(); } } finally { if (readOnly) { setConnectionReadOnly(false); } String sessionId = oid(session); log.debug("closing session: {}", sessionId); Try.run(session::close) .onFailure(x -> log.error("session.close() resulted in exception: {}", sessionId, x)) .onSuccess(() -> log.debug("session closed: {}", sessionId)); unbind(session.getSessionFactory()); } }
@Override default void handle(final Request req, final Response rsp, final Chain chain) throws Throwable { Sse sse = req.require(Sse.class); String path = req.path(); rsp.send(new Deferred(deferred -> { try { sse.handshake(req, () -> { Try.run(() -> handle(req, sse)) .onSuccess(() -> deferred.resolve(null)) .onFailure(ex -> { deferred.reject(ex); Logger log = LoggerFactory.getLogger(Sse.class); log.error("execution of {} resulted in error", path, ex); }); }); } catch (Exception ex) { deferred.reject(ex); } })); }