@Override
    public void lock() {
        DefaultTransactionDefinition defaultTransactionDefinition = new DefaultTransactionDefinition();
        defaultTransactionDefinition.setTimeout(lockTimeoutSeconds);
        TransactionStatus transaction = transactionManager.getTransaction(defaultTransactionDefinition);
        RegisterTransactionUtil.set(transaction);
        pluginMapper.selectByNameForUpdate(name);
    }
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