@Override
    public void unlock() {
        TransactionStatus transactionStatus = RegisterTransactionUtil.get();
        try {
            if (transactionStatus.isRollbackOnly()) {
                transactionManager.rollback(transactionStatus);
                return;
            }
            transactionManager.commit(transactionStatus);
        } finally {
            RegisterTransactionUtil.remove();
        }
    }
select ... for update not allowing for the lock to be reentrant lock
shenyu-admin/src/main/java/org/apache/shenyu/admin/lock/impl/ForUpdateBackedRegisterExecutionLock.java