@Override public void handle(AsyncResult<Integer> ar) { updateCount = ar.getResult(); setExecutingStatement(null); handler.handle(ar); } };
@Override public void handle(AsyncResult<Integer> ar) { if (ar.isSucceeded()) updateCount = ar.getResult(); // 设置完后再调用handle,否则有可能当前语句提前关闭了 setExecutingStatement(null); command.close(); handler.handle(ar); } };
@Override public void handle(AsyncResult<Result> ar) { Result r = ar.getResult(); resultSet = new JdbcResultSet(conn, JdbcPreparedStatement.this, r, id, closedByResultSet, scrollable, updatable, cachedColumnLabelMap); setExecutingStatement(null); resultSet.setCommand(command); if (handler != null) { AsyncResult<ResultSet> r2 = new AsyncResult<>(); r2.setResult(resultSet); handler.handle(r2); } } };
@Override public void handle(AsyncResult<Result> ar) { JdbcResultSet resultSet = null; if (ar.isSucceeded()) { Result r = ar.getResult(); resultSet = new JdbcResultSet(conn, JdbcStatement.this, r, id, closedByResultSet, scrollable, updatable); resultSet.setCommand(command); } setExecutingStatement(null); if (handler != null) { AsyncResult<ResultSet> r2 = new AsyncResult<>(); if (ar.isSucceeded()) r2.setResult(resultSet); else r2.setCause(ar.getCause()); handler.handle(r2); } } };
command.executeQueryAsync(maxRows, scrollable, pageKeys, res -> { if (res.isSucceeded()) { Result result = res.getResult(); cache.addObject(resultId, result); try {
@Override public void run() { command.executeUpdateAsync(pageKeys, res -> { if (res.isSucceeded()) { int updateCount = res.getResult(); try { transfer.writeResponseHeader(id, getStatus(session)); if (session.isRunModeChanged()) { transfer.writeInt(sessionId).writeString(session.getNewTargetEndpoints()); } if (operation == Session.COMMAND_DISTRIBUTED_TRANSACTION_UPDATE || operation == Session.COMMAND_DISTRIBUTED_TRANSACTION_PREPARED_UPDATE) { transfer.writeString(session.getTransaction().getLocalTransactionNames()); } transfer.writeInt(updateCount); transfer.writeLong(session.getLastRowKey()); transfer.flush(); } catch (Exception e) { sendError(transfer, id, e); } } else { sendError(transfer, id, res.getCause()); } }); } });