org.wso2.carbon.registry.core.dataaccess
Interface ClusterLock

All Known Implementing Classes:
JDBCClusterLock

public interface ClusterLock

A lock implementation to avoid database schema creation and data population from multiple nodes.


Method Summary
 void init(DataAccessManager dataAccessManager, String clusterLockTableStatement)
          Initializes the Node Group Lock Object.
 void lock(String lockName)
          Creates a lock by the given name
 void unlock(String lockName)
          Unlocks a named lock.
 

Method Detail

init

void init(DataAccessManager dataAccessManager,
          String clusterLockTableStatement)
          throws RegistryException
Initializes the Node Group Lock Object. This method is responsible of initializing the database, which is required for creating locks in the future.

Parameters:
dataAccessManager - the data access manager to be used to communicate with the database.
clusterLockTableStatement - the SQL statement required create the cluster lock table.
Throws:
RegistryException - if the creation of the cluster lock table failed, or if any exceptions occur during the initialization.

lock

void lock(String lockName)
          throws RegistryException
Creates a lock by the given name

Parameters:
lockName - the name of the lock.
Throws:
RegistryException - if an exception occurred while locking.

unlock

void unlock(String lockName)
            throws RegistryException
Unlocks a named lock.

Parameters:
lockName - the name of the lock.
Throws:
RegistryException - if an exception occurred while unlocking.


Copyright © 2011 WSO2 Inc. All Rights Reserved.