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 aLock
backed by Apache ZooKeeper.- Author:
- Kelly Tisdell (ktisdell)
-
-
Field Summary
Fields Modifier and Type Field Description protected static String
DEFAULT_LOCKS_FOLDER_NAME
protected static Map<String,String>
LOCAL_KEY_REGISTRY
protected 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.Environment
getEnvironment()
protected String
getLocksFolder()
protected org.apache.zookeeper.ZooKeeper
getZookeeperClient()
boolean
isDistributed()
boolean
isLocked(String lockName)
String
lock(String lockName)
void
unlock(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:
isLocked
in interfacecom.broadleafcommerce.search.index.core.LockService
-
lock
public String lock(String lockName) throws com.broadleafcommerce.search.index.core.LockException
- Specified by:
lock
in 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:
unlock
in interfacecom.broadleafcommerce.search.index.core.LockService
- Throws:
com.broadleafcommerce.search.index.core.LockException
-
isDistributed
public final boolean isDistributed()
- Specified by:
isDistributed
in 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()
-
-