全部
常见问题
产品动态
精选推荐

Java LockService.releaseLock方法代码示例

管理 管理 编辑 删除

在下文中一共展示了LockService.releaseLock方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: update

import liquibase.lockservice.LockService; //导入方法依赖的package包/类
public void update(String contexts) throws LiquibaseException {
    contexts = StringUtils.trimToNull(contexts);
    LockService lockService = LockService.getInstance(database);
    lockService.waitForLock();

    changeLogParameters.setContexts(StringUtils.splitAndTrim(contexts, ","));

    try {
        DatabaseChangeLog changeLog = ChangeLogParserFactory.getInstance().getParser(changeLogFile, resourceAccessor).parse(changeLogFile, changeLogParameters, resourceAccessor);

        checkDatabaseChangeLogTable(true, changeLog, contexts);

        changeLog.validate(database, contexts);
        ChangeLogIterator changeLogIterator = getStandardChangelogIterator(contexts, changeLog);

        changeLogIterator.run(new UpdateVisitor(database), database);
    } finally {
        try {
            lockService.releaseLock();
        } catch (LockException e) {
            log.severe("Could not release lock", e);
        }
    }
}
 

示例2: rollback

import liquibase.lockservice.LockService; //导入方法依赖的package包/类
public void rollback(String tagToRollBackTo, String contexts) throws LiquibaseException {
    contexts = StringUtils.trimToNull(contexts);
    changeLogParameters.setContexts(StringUtils.splitAndTrim(contexts, ","));

    LockService lockService = LockService.getInstance(database);
    lockService.waitForLock();

    try {

        DatabaseChangeLog changeLog = ChangeLogParserFactory.getInstance().getParser(changeLogFile, resourceAccessor).parse(changeLogFile, changeLogParameters, resourceAccessor);
        checkDatabaseChangeLogTable(false, changeLog, contexts);

        changeLog.validate(database, contexts);

        List<RanChangeSet> ranChangeSetList = database.getRanChangeSetList();
        ChangeLogIterator logIterator = new ChangeLogIterator(ranChangeSetList, changeLog,
                new AfterTagChangeSetFilter(tagToRollBackTo, ranChangeSetList),
                new AlreadyRanChangeSetFilter(ranChangeSetList),
                new ContextChangeSetFilter(contexts),
                new DbmsChangeSetFilter(database));

        logIterator.run(new RollbackVisitor(database), database);
    } finally {
        lockService.releaseLock();
    }
}

示例3: changeLogSync

import liquibase.lockservice.LockService; //导入方法依赖的package包/类
public void changeLogSync(String contexts) throws LiquibaseException {
    contexts = StringUtils.trimToNull(contexts);
    changeLogParameters.setContexts(StringUtils.splitAndTrim(contexts, ","));

    LockService lockService = LockService.getInstance(database);
    lockService.waitForLock();

    try {
        DatabaseChangeLog changeLog = ChangeLogParserFactory.getInstance().getParser(changeLogFile, resourceAccessor).parse(changeLogFile, changeLogParameters, resourceAccessor);
        checkDatabaseChangeLogTable(true, changeLog, contexts);
        changeLog.validate(database, contexts);

        ChangeLogIterator logIterator = new ChangeLogIterator(changeLog,
                new NotRanChangeSetFilter(database.getRanChangeSetList()),
                new ContextChangeSetFilter(contexts),
                new DbmsChangeSetFilter(database));

        logIterator.run(new ChangeLogSyncVisitor(database), database);
    } finally {
        lockService.releaseLock();
    }
}

示例4: markNextChangeSetRan

import liquibase.lockservice.LockService; //导入方法依赖的package包/类
public void markNextChangeSetRan(String contexts) throws LiquibaseException {
    contexts = StringUtils.trimToNull(contexts);
    changeLogParameters.setContexts(StringUtils.splitAndTrim(contexts, ","));

    LockService lockService = LockService.getInstance(database);
    lockService.waitForLock();

    try {
        DatabaseChangeLog changeLog = ChangeLogParserFactory.getInstance().getParser(changeLogFile, resourceAccessor).parse(changeLogFile, changeLogParameters, resourceAccessor);
        checkDatabaseChangeLogTable(false, changeLog, contexts);
        changeLog.validate(database, contexts);

        ChangeLogIterator logIterator = new ChangeLogIterator(changeLog,
                new NotRanChangeSetFilter(database.getRanChangeSetList()),
                new ContextChangeSetFilter(contexts),
                new DbmsChangeSetFilter(database),
                new CountChangeSetFilter(1));

        logIterator.run(new ChangeLogSyncVisitor(database), database);
    } finally {
        lockService.releaseLock();
    }
}

示例5: clearCheckSums

import liquibase.lockservice.LockService; //导入方法依赖的package包/类
/**
 * Sets checksums to null so they will be repopulated next run
 */
public void clearCheckSums() throws LiquibaseException {
    log.info("Clearing database change log checksums");
    LockService lockService = LockService.getInstance(database);
    lockService.waitForLock();

    try {
        checkDatabaseChangeLogTable(false, null, null);

        UpdateStatement updateStatement = new UpdateStatement(getDatabase().getLiquibaseSchemaName(), getDatabase().getDatabaseChangeLogTableName());
        updateStatement.addNewColumnValue("MD5SUM", null);
        ExecutorService.getInstance().getExecutor(database).execute(updateStatement);
        getDatabase().commit();
    } finally {
        lockService.releaseLock();
    }
}

示例6: tag

import liquibase.lockservice.LockService; //导入方法依赖的package包/类
/**
 * 'Tags' the database for future rollback
 */
public void tag(String tagString) throws LiquibaseException {
    LockService lockService = LockService.getInstance(database);
    lockService.waitForLock();

    try {
        checkDatabaseChangeLogTable(false, null, null);
        getDatabase().tag(tagString);
    } finally {
        lockService.releaseLock();
    }
}

示例7: futureRollbackSQL

import liquibase.lockservice.LockService; //导入方法依赖的package包/类
public void futureRollbackSQL(Integer count, String contexts, Writer output) throws LiquibaseException {
    contexts = StringUtils.trimToNull(contexts);
    changeLogParameters.setContexts(StringUtils.splitAndTrim(contexts, ","));

    LoggingExecutor outputTemplate = new LoggingExecutor(ExecutorService.getInstance().getExecutor(database), output, database);
    Executor oldTemplate = ExecutorService.getInstance().getExecutor(database);
    ExecutorService.getInstance().setExecutor(database, outputTemplate);

    outputHeader("SQL to roll back currently unexecuted changes");

    LockService lockService = LockService.getInstance(database);
    lockService.waitForLock();

    try {
        DatabaseChangeLog changeLog = ChangeLogParserFactory.getInstance().getParser(changeLogFile, resourceAccessor).parse(changeLogFile, changeLogParameters, resourceAccessor);
        checkDatabaseChangeLogTable(false, changeLog, contexts);
        changeLog.validate(database, contexts);

        ChangeLogIterator logIterator;
        if (count == null) {
            logIterator = new ChangeLogIterator(changeLog,
                    new NotRanChangeSetFilter(database.getRanChangeSetList()),
                    new ContextChangeSetFilter(contexts),
                    new DbmsChangeSetFilter(database));
        } else {
            ChangeLogIterator forwardIterator = new ChangeLogIterator(changeLog,
                    new NotRanChangeSetFilter(database.getRanChangeSetList()),
                    new ContextChangeSetFilter(contexts),
                    new DbmsChangeSetFilter(database),
                    new CountChangeSetFilter(count));
            final ListVisitor listVisitor = new ListVisitor();
            forwardIterator.run(listVisitor, database);

            logIterator = new ChangeLogIterator(changeLog,
                    new NotRanChangeSetFilter(database.getRanChangeSetList()),
                    new ContextChangeSetFilter(contexts),
                    new DbmsChangeSetFilter(database),
                    new ChangeSetFilter() {
                        public boolean accepts(ChangeSet changeSet) {
                            return listVisitor.getSeenChangeSets().contains(changeSet);
                        }
                    });
        }

        logIterator.run(new RollbackVisitor(database), database);
    } finally {
        lockService.releaseLock();
        ExecutorService.getInstance().setExecutor(database, oldTemplate);
    }

    try {
        output.flush();
    } catch (IOException e) {
        throw new LiquibaseException(e);
    }

}

示例8: generateDocumentation

import liquibase.lockservice.LockService; //导入方法依赖的package包/类
public void generateDocumentation(String outputDirectory, String contexts) throws LiquibaseException {
        contexts = StringUtils.trimToNull(contexts);
        log.info("Generating Database Documentation");
        changeLogParameters.setContexts(StringUtils.splitAndTrim(contexts, ","));
        LockService lockService = LockService.getInstance(database);
        lockService.waitForLock();

        try {
            DatabaseChangeLog changeLog = ChangeLogParserFactory.getInstance().getParser(changeLogFile, resourceAccessor).parse(changeLogFile, changeLogParameters, resourceAccessor);
            checkDatabaseChangeLogTable(false, changeLog, null);

            String[] splitContexts = null;
            if (StringUtils.trimToNull(contexts) != null) {
                splitContexts = contexts.split(",");
            }
            changeLog.validate(database, splitContexts);

            ChangeLogIterator logIterator = new ChangeLogIterator(changeLog,
                    new DbmsChangeSetFilter(database));

            DBDocVisitor visitor = new DBDocVisitor(database);
            logIterator.run(visitor, database);

            visitor.writeHTML(new File(outputDirectory), resourceAccessor);
        } catch (IOException e) {
            throw new LiquibaseException(e);
        } finally {
            lockService.releaseLock();
        }

//        try {
//            if (!LockService.getExecutor(database).waitForLock()) {
//                return;
//            }
//
//            DBDocChangeLogHandler changeLogHandler = new DBDocChangeLogHandler(outputDirectory, this, changeLogFile,resourceAccessor);
//            runChangeLogs(changeLogHandler);
//
//            changeLogHandler.writeHTML(this);
//        } finally {
//            releaseLock();
//        }
    }


请登录后查看

CRMEB-慕白寒窗雪 最后编辑于2023-04-26 17:50:57

快捷回复
回复({{post_count}}) {{!is_user ? '我的回复' :'全部回复'}}
回复从新到旧

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}}

作者 管理员 企业

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest==1? '取消推荐': '推荐'}}
{{item.floor}}#
{{item.user_info.title}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
{{item.like_count}}
{{item.showReply ? '取消回复' : '回复'}}
删除
回复
回复

{{itemc.user_info.nickname}}

{{itemc.user_name}}

作者 管理员 企业

回复 {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}   {{itemc.ip_address}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回复' : '回复'}}
删除
回复
回复
查看更多
回复
回复
757
{{like_count}}
{{collect_count}}
添加回复 ({{post_count}})

相关推荐

CRMEB-慕白寒窗雪 作者
社区运营专员---高冷のBoy | 呆萌のGirl

回答

2936

发布

1785

经验

47973

快速安全登录

使用微信扫码登录
{{item.label}} {{item.label}} {{item.label}} 板块推荐 常见问题 产品动态 精选推荐 首页头条 首页动态 首页推荐
加精
取 消 确 定
回复
回复
问题:
问题自动获取的帖子内容,不准确时需要手动修改. [获取答案]
答案:
提交
bug 需求 取 消 确 定

微信登录/注册

切换手机号登录

{{ bind_phone ? '绑定手机' : '手机登录'}}

{{codeText}}
切换微信登录/注册
暂不绑定
CRMEB客服

CRMEB咨询热线 咨询热线

400-8888-794

微信扫码咨询

CRMEB开源商城下载 开源下载 CRMEB官方论坛 帮助文档
返回顶部 返回顶部
CRMEB客服