Class DefaultZooKeeperDistributedLockService
- java.lang.Object
-
- com.broadleafcommerce.search.index.solr.service.DefaultZooKeeperDistributedLockService
-
- All Implemented Interfaces:
com.broadleafcommerce.search.index.core.Distributable,com.broadleafcommerce.search.index.core.LockService
public class DefaultZooKeeperDistributedLockService extends Object implements com.broadleafcommerce.search.index.core.LockService
Service to provide access to aLockbacked by Apache ZooKeeper.- Author:
- Kelly Tisdell (ktisdell)
-
-
Field Summary
Fields Modifier and Type Field Description protected static StringDEFAULT_LOCKS_FOLDER_NAMEprotected static Map<String,String>LOCAL_KEY_REGISTRYprotected static Map<String,com.broadleafcommerce.search.provider.solr.util.zk.ReentrantDistributedZookeeperLock>LOCAL_LOCK_REGISTRY
-
Constructor Summary
Constructors Constructor Description DefaultZooKeeperDistributedLockService(org.apache.zookeeper.ZooKeeper zooKeeper)DefaultZooKeeperDistributedLockService(org.apache.zookeeper.ZooKeeper zooKeeper, List<org.apache.zookeeper.data.ACL> acls)DefaultZooKeeperDistributedLockService(org.apache.zookeeper.ZooKeeper zooKeeper, org.springframework.core.env.Environment environment)DefaultZooKeeperDistributedLockService(org.apache.zookeeper.ZooKeeper zooKeeper, org.springframework.core.env.Environment environment, List<org.apache.zookeeper.data.ACL> acls)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected List<org.apache.zookeeper.data.ACL>getAcls()protected org.springframework.core.env.EnvironmentgetEnvironment()protected StringgetLocksFolder()protected org.apache.zookeeper.ZooKeepergetZookeeperClient()booleanisDistributed()booleanisLocked(String lockName)Stringlock(String lockName)voidunlock(String lockName, String lockKey)
-
-
-
Field Detail
-
LOCAL_LOCK_REGISTRY
protected static final Map<String,com.broadleafcommerce.search.provider.solr.util.zk.ReentrantDistributedZookeeperLock> LOCAL_LOCK_REGISTRY
-
DEFAULT_LOCKS_FOLDER_NAME
protected static final String DEFAULT_LOCKS_FOLDER_NAME
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
DefaultZooKeeperDistributedLockService
public DefaultZooKeeperDistributedLockService(org.apache.zookeeper.ZooKeeper zooKeeper)
-
DefaultZooKeeperDistributedLockService
public DefaultZooKeeperDistributedLockService(org.apache.zookeeper.ZooKeeper zooKeeper, org.springframework.core.env.Environment environment)
-
DefaultZooKeeperDistributedLockService
public DefaultZooKeeperDistributedLockService(org.apache.zookeeper.ZooKeeper zooKeeper, List<org.apache.zookeeper.data.ACL> acls)
-
DefaultZooKeeperDistributedLockService
public DefaultZooKeeperDistributedLockService(org.apache.zookeeper.ZooKeeper zooKeeper, org.springframework.core.env.Environment environment, List<org.apache.zookeeper.data.ACL> acls)
-
-
Method Detail
-
isLocked
public boolean isLocked(String lockName)
- Specified by:
isLockedin interfacecom.broadleafcommerce.search.index.core.LockService
-
lock
public String lock(String lockName) throws com.broadleafcommerce.search.index.core.LockException
- Specified by:
lockin interfacecom.broadleafcommerce.search.index.core.LockService- Throws:
com.broadleafcommerce.search.index.core.LockException
-
unlock
public void unlock(String lockName, String lockKey) throws com.broadleafcommerce.search.index.core.LockException
- Specified by:
unlockin interfacecom.broadleafcommerce.search.index.core.LockService- Throws:
com.broadleafcommerce.search.index.core.LockException
-
isDistributed
public final boolean isDistributed()
- Specified by:
isDistributedin interfacecom.broadleafcommerce.search.index.core.Distributable
-
getZookeeperClient
protected org.apache.zookeeper.ZooKeeper getZookeeperClient()
-
getLocksFolder
protected String getLocksFolder()
-
getEnvironment
protected org.springframework.core.env.Environment getEnvironment()
-
getAcls
protected List<org.apache.zookeeper.data.ACL> getAcls()
-
-