当前位置: 首页>>代码示例>>Java>>正文


Java Executor类代码示例

本文整理汇总了Java中liquibase.executor.Executor的典型用法代码示例。如果您正苦于以下问题:Java Executor类的具体用法?Java Executor怎么用?Java Executor使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


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

示例1: tag

import liquibase.executor.Executor; //导入依赖的package包/类
@Override
    public void tag(final String tagString) throws DatabaseException {
        Database database = getDatabase();
        Executor executor = ExecutorService.getInstance().getExecutor(database);
        try {
            int totalRows = ExecutorService.getInstance().getExecutor(database).queryForInt(new SelectFromDatabaseChangeLogStatement(new ColumnConfig().setName("COUNT(*)", true)));
            if (totalRows == 0) {
                ChangeSet emptyChangeSet = new ChangeSet(String.valueOf(new Date().getTime()), "liquibase", false, false, "liquibase-internal", null, null, getDatabase().getObjectQuotingStrategy(), null);
                this.setExecType(emptyChangeSet, ChangeSet.ExecType.EXECUTED);
            }

//            Timestamp lastExecutedDate = (Timestamp) this.getExecutor().queryForObject(createChangeToTagSQL(), Timestamp.class);
            executor.execute(new TagDatabaseStatement(tagString));
            getDatabase().commit();

            if (this.ranChangeSetList != null) {
                ranChangeSetList.get(ranChangeSetList.size() - 1).setTag(tagString);
            }
        } catch (Exception e) {
            throw new DatabaseException(e);
        }
    }
 
开发者ID:eselyavka,项目名称:liquibase-impala,代码行数:23,代码来源:HiveStandardChangeLogHistoryService.java

示例2: generateStatements

import liquibase.executor.Executor; //导入依赖的package包/类
@Override
public SqlStatement[] generateStatements(final Database database)
{
	validateParameters();

	final Executor currentExecutor = ExecutorService.getInstance().getExecutor(database);

	if (startOrStop == START_OR_STOP.START)
	{
		startSuppressing(database, currentExecutor);
	}
	else if (startOrStop == START_OR_STOP.STOP)
	{
		stopSuppressing(database, currentExecutor);
	}
	else
	{
		throw new IllegalArgumentException("Unknown startOrStop value " + startOrStop.name());
	}

	return new SqlStatement[] {};
}
 
开发者ID:Jurrie,项目名称:liquibase-suppress-output,代码行数:23,代码来源:SuppressOutputChange.java

示例3: generateRollbackStatements

import liquibase.executor.Executor; //导入依赖的package包/类
@Override
public SqlStatement[] generateRollbackStatements(final Database database) throws RollbackImpossibleException
{
	validateParameters();

	final Executor currentExecutor = ExecutorService.getInstance().getExecutor(database);

	if (startOrStop == START_OR_STOP.START)
	{
		stopSuppressing(database, currentExecutor);
	}
	else if (startOrStop == START_OR_STOP.STOP)
	{
		startSuppressing(database, currentExecutor);
	}
	else
	{
		throw new IllegalArgumentException("Unknown startOrStop value " + startOrStop.name());
	}

	return new SqlStatement[] {};
}
 
开发者ID:Jurrie,项目名称:liquibase-suppress-output,代码行数:23,代码来源:SuppressOutputChange.java

示例4: tag

import liquibase.executor.Executor; //导入依赖的package包/类
/**
     * Tags the database changelog with the given string.
     */
    public void tag(String tagString) throws DatabaseException {
        Executor executor = ExecutorService.getInstance().getExecutor(this);
        try {
            int totalRows = ExecutorService.getInstance().getExecutor(this).queryForInt(new SelectFromDatabaseChangeLogStatement("COUNT(*)"));
            if (totalRows == 0) {
                ChangeSet emptyChangeSet = new ChangeSet(String.valueOf(new Date().getTime()), "liquibase", false, false, "liquibase-internal", null, null);
                this.markChangeSetExecStatus(emptyChangeSet, ChangeSet.ExecType.EXECUTED);
            }

//            Timestamp lastExecutedDate = (Timestamp) this.getExecutor().queryForObject(createChangeToTagSQL(), Timestamp.class);
            executor.execute(new TagDatabaseStatement(tagString));
            this.commit();

            getRanChangeSetList().get(getRanChangeSetList().size() - 1).setTag(tagString);
        } catch (Exception e) {
            throw new DatabaseException(e);
        }
    }
 
开发者ID:hongliangpan,项目名称:manydesigns.cn,代码行数:22,代码来源:AbstractDatabase.java

示例5: update

import liquibase.executor.Executor; //导入依赖的package包/类
public void update(String contexts, Writer output) throws LiquibaseException {
    contexts = StringUtils.trimToNull(contexts);
    changeLogParameters.setContexts(StringUtils.splitAndTrim(contexts, ","));

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

    outputHeader("Update Database Script");

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

    try {

        update(contexts);

        output.flush();
    } catch (IOException e) {
        throw new LiquibaseException(e);
    } finally {
        lockService.releaseLock();
    }

    ExecutorService.getInstance().setExecutor(database, oldTemplate);
}
 
开发者ID:hongliangpan,项目名称:manydesigns.cn,代码行数:27,代码来源:Liquibase.java

示例6: rollback

import liquibase.executor.Executor; //导入依赖的package包/类
public void rollback(int changesToRollback, String contexts, Writer output) throws LiquibaseException {
    contexts = StringUtils.trimToNull(contexts);
    changeLogParameters.setContexts(StringUtils.splitAndTrim(contexts, ","));

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

    outputHeader("Rollback " + changesToRollback + " Change(s) Script");

    rollback(changesToRollback, contexts);

    try {
        output.flush();
    } catch (IOException e) {
        throw new LiquibaseException(e);
    }
    ExecutorService.getInstance().setExecutor(database, oldTemplate);
}
 
开发者ID:hongliangpan,项目名称:manydesigns.cn,代码行数:19,代码来源:Liquibase.java

示例7: changeLogSync

import liquibase.executor.Executor; //导入依赖的package包/类
public void changeLogSync(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 add all changesets to database history table");

    changeLogSync(contexts);

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

    ExecutorService.getInstance().setExecutor(database, oldTemplate);
}
 
开发者ID:hongliangpan,项目名称:manydesigns.cn,代码行数:21,代码来源:Liquibase.java

示例8: markNextChangeSetRan

import liquibase.executor.Executor; //导入依赖的package包/类
public void markNextChangeSetRan(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 add all changesets to database history table");

    markNextChangeSetRan(contexts);

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

    ExecutorService.getInstance().setExecutor(database, oldTemplate);
}
 
开发者ID:hongliangpan,项目名称:manydesigns.cn,代码行数:22,代码来源:Liquibase.java

示例9: isDryRun

import liquibase.executor.Executor; //导入依赖的package包/类
/**
 * Determines whether *SQL (updateSQL/rollbackSQL) is executed or whether
 * the statements should be executed directly.
 * @param database the database
 * @return <code>true</code> if dry-run is enabled and the statements should *not* be executed.
 */
private static boolean isDryRun(Database database) {
    Executor executor = ExecutorService.getInstance().getExecutor(database);
    if (executor instanceof LoggingExecutor) {
        return true;
    }
    return false;
}
 
开发者ID:adangel,项目名称:liquibase-percona,代码行数:14,代码来源:PerconaChangeUtil.java

示例10: cleanDB

import liquibase.executor.Executor; //导入依赖的package包/类
public static void cleanDB() throws Exception {
	liquiBase = new Liquibase( changeLogFile, new ClassLoaderResourceAccessor(), jdbcConnection );
	liquiBase.dropAll();
	
	Executor executor = ExecutorService.getInstance().getExecutor( liquiBase.getDatabase() );
	ResultSet rs = null;
	try {
		rs = jdbcConnection.getMetaData().getTables( null, liquiBase.getDatabase().getDefaultSchemaName(), "%", new String[] { "MATERIALIZED VIEW" } );
		while ( rs.next() ) {
			executor.execute( new DropMaterializedViewStatement( rs.getString( "TABLE_NAME" ) ) );
		}
	} finally {
		closeSilently( rs );
	}
}
 
开发者ID:mrswadge,项目名称:liquibase-flexibleview,代码行数:16,代码来源:BaseTestCase.java

示例11: writeBody

import liquibase.executor.Executor; //导入依赖的package包/类
@Override
protected void writeBody(FileWriter fileWriter, Object object, List<Change> ranChanges, List<Change> changesToRun) throws IOException, DatabaseHistoryException, DatabaseException {

    Executor oldTemplate = ExecutorService.getInstance().getExecutor(database);
    LoggingExecutor loggingExecutor = new LoggingExecutor(ExecutorService.getInstance().getExecutor(database), fileWriter, database);
    ExecutorService.getInstance().setExecutor(database, loggingExecutor);

    try {
        if (changesToRun.size() == 0) {
            fileWriter.append("<b>NONE</b>");
        }

        fileWriter.append("<code><pre>");

        ChangeSet lastRunChangeSet = null;

        for (Change change : changesToRun) {
            ChangeSet thisChangeSet = change.getChangeSet();
            if (thisChangeSet.equals(lastRunChangeSet)) {
                continue;
            }
            lastRunChangeSet = thisChangeSet;
            String anchor = thisChangeSet.toString(false).replaceAll("\\W","_");
            fileWriter.append("<a name='").append(anchor).append("'/>");
            try {
                thisChangeSet.execute(databaseChangeLog, this.database);
            } catch (MigrationFailedException e) {
                fileWriter.append("EXECUTION ERROR: ").append(change.getChangeMetaData().getDescription()).append(": ").append(e.getMessage()).append("\n\n");
            }
        }
        fileWriter.append("</pre></code>");
    } finally {
        ExecutorService.getInstance().setExecutor(database, oldTemplate);
    }
}
 
开发者ID:hongliangpan,项目名称:manydesigns.cn,代码行数:36,代码来源:PendingSQLWriter.java

示例12: checkDatabaseChangeLogLockTable

import liquibase.executor.Executor; //导入依赖的package包/类
/**
 * This method will check the database ChangeLogLock table used to keep track of
 * if a machine is updating the database. If the table does not exist it will create one
 * otherwise it will not do anything besides outputting a log message.
 */
public void checkDatabaseChangeLogLockTable() throws DatabaseException {

    Executor executor = ExecutorService.getInstance().getExecutor(this);
    if (!hasDatabaseChangeLogLockTable()) {

        executor.comment("Create Database Lock Table");
        executor.execute(new CreateDatabaseChangeLogLockTableStatement());
        this.commit();
        LogFactory.getLogger().debug("Created database lock table with name: " + escapeTableName(getLiquibaseSchemaName(), getDatabaseChangeLogLockTableName()));
        this.hasDatabaseChangeLogLockTable = true;
    }
}
 
开发者ID:hongliangpan,项目名称:manydesigns.cn,代码行数:18,代码来源:AbstractDatabase.java

示例13: getViewDefinition

import liquibase.executor.Executor; //导入依赖的package包/类
@Override
public String getViewDefinition(String schemaName, String viewName) throws DatabaseException {
       GetViewDefinitionStatement statement = new GetViewDefinitionStatement(convertRequestedSchemaToSchema(schemaName), viewName);
       Executor executor = ExecutorService.getInstance().getExecutor(this);
       @SuppressWarnings("unchecked")
       List<String> definitionRows = (List<String>) executor.queryForList(statement, String.class);
       StringBuilder definition = new StringBuilder();
       for (String d : definitionRows) {
       	definition.append(d);
       }
       return definition.toString();
}
 
开发者ID:hongliangpan,项目名称:manydesigns.cn,代码行数:13,代码来源:SybaseDatabase.java

示例14: outputHeader

import liquibase.executor.Executor; //导入依赖的package包/类
private void outputHeader(String message) throws DatabaseException {
    Executor executor = ExecutorService.getInstance().getExecutor(database);
    executor.comment("*********************************************************************");
    executor.comment(message);
    executor.comment("*********************************************************************");
    executor.comment("Change Log: " + changeLogFile);
    executor.comment("Ran at: " + DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT).format(new Date()));
    executor.comment("Against: " + getDatabase().getConnection().getConnectionUserName() + "@" + getDatabase().getConnection().getURL());
    executor.comment("Liquibase version: " + LiquibaseUtil.getBuildVersion());
    executor.comment("*********************************************************************" + StreamUtil.getLineSeparator());
}
 
开发者ID:hongliangpan,项目名称:manydesigns.cn,代码行数:12,代码来源:Liquibase.java

示例15: test

import liquibase.executor.Executor; //导入依赖的package包/类
@Test
public void test() throws Exception {
	final List<String> expected = Arrays.asList( 
			"iftableexists", "iftablenotexists", "ifviewexists", "ifviewnotexists", 
			"ifindexexists1", "ifindexexists2", "ifindexnotexists1", "ifpkexists",
			"ifpknotexists", "iffkexists", "iffknotexists", "ifsequenceexists",
			"ifsequencenotexists"
	);
	Executor executor = ExecutorService.getInstance().getExecutor( liquiBase.getDatabase() );
	List<String> successes = executor.queryForList( new RawSqlStatement( "select * from testresults" ), String.class );
	assertTrue( successes.containsAll( expected ) );
}
 
开发者ID:mrswadge,项目名称:liquibase-oracle-preconditions,代码行数:13,代码来源:OraclePreconditionsTest.java


注:本文中的liquibase.executor.Executor类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。