All Downloads are FREE. Search and download functionalities are using the official Maven repository.

liquibase.lockservice.LockService Maven / Gradle / Ivy

There is a newer version: 3.6.2.5.inovus
Show newest version
package liquibase.lockservice;

import liquibase.database.Database;
import liquibase.exception.DatabaseException;
import liquibase.exception.LockException;
import liquibase.servicelocator.PrioritizedService;

/**
 * @author John Sanda
 */
public interface LockService extends PrioritizedService {

    boolean supports(Database database);

    void setDatabase(Database database);

    void setChangeLogLockWaitTime(long changeLogLockWaitTime);

    void setChangeLogLockRecheckTime(long changeLogLocRecheckTime);

    boolean hasChangeLogLock();

    void waitForLock() throws LockException;

    boolean acquireLock() throws LockException;

    void releaseLock() throws LockException;

    DatabaseChangeLogLock[] listLocks() throws LockException;

    /**
     * Releases whatever locks are on the database change log table
     */
    void forceReleaseLock() throws LockException, DatabaseException;

    /**
     * Clears information the lock handler knows about the tables.  Should only be called by Liquibase internal calls
     */
    void reset();

    void init() throws DatabaseException;

    void destroy() throws DatabaseException;
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy