在下文中一共展示了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();
// }
}