private T execute()

in flink-connector-jdbc/src/main/java/org/apache/flink/connector/jdbc/xa/XaFacadeImpl.java [269:286]


    private <T> T execute(Command<T> cmd) throws FlinkRuntimeException {
        Preconditions.checkState(isOpen(), "not connected");
        LOG.debug("{}, xid={}", cmd.name, cmd.xid);
        try {
            T result = cmd.callable.call();
            LOG.trace("{} succeeded , xid={}", cmd.name, cmd.xid);
            return result;
        } catch (XAException e) {
            if (HEUR_ERR_CODES.contains(e.errorCode)) {
                cmd.xid.ifPresent(this::forget);
            }
            return cmd.recover.apply(e).orElseThrow(() -> wrapException(cmd.name, cmd.xid, e));
        } catch (FlinkRuntimeException e) {
            throw e;
        } catch (Exception e) {
            throw wrapException(cmd.name, cmd.xid, e);
        }
    }