Class DatabaseOrderLockManager
java.lang.Object
org.broadleafcommerce.core.web.order.DatabaseOrderLockManager
- All Implemented Interfaces:
org.broadleafcommerce.core.order.service.OrderLockManager
public class DatabaseOrderLockManager
extends Object
implements org.broadleafcommerce.core.order.service.OrderLockManager
An implementation of the
OrderLockManager that relies on the database to provide synchronization
for locks on Orders. This class leverages the OrderLock domain object to provide this
functionality.- Author:
- Andre Azzolini (apazzolini)
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final org.apache.commons.logging.Logprotected org.broadleafcommerce.core.order.service.OrderService -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionacquireLock(org.broadleafcommerce.core.order.domain.Order order) acquireLockIfAvailable(org.broadleafcommerce.core.order.domain.Order order) protected intprotected longbooleanisActive()voidreleaseLock(Object lockObject)
-
Field Details
-
LOG
protected static final org.apache.commons.logging.Log LOG -
orderService
protected org.broadleafcommerce.core.order.service.OrderService orderService
-
-
Constructor Details
-
DatabaseOrderLockManager
public DatabaseOrderLockManager()
-
-
Method Details
-
acquireLock
- Specified by:
acquireLockin interfaceorg.broadleafcommerce.core.order.service.OrderLockManager
-
acquireLockIfAvailable
- Specified by:
acquireLockIfAvailablein interfaceorg.broadleafcommerce.core.order.service.OrderLockManager
-
releaseLock
- Specified by:
releaseLockin interfaceorg.broadleafcommerce.core.order.service.OrderLockManager
-
getDatabaseLockPollingIntervalMs
protected long getDatabaseLockPollingIntervalMs() -
getDatabaseLockAcquisitionNumRetries
protected int getDatabaseLockAcquisitionNumRetries() -
isActive
public boolean isActive()- Specified by:
isActivein interfaceorg.broadleafcommerce.core.order.service.OrderLockManager
-