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 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

      public Object acquireLock(org.broadleafcommerce.core.order.domain.Order order)
      Specified by:
      acquireLock in interface org.broadleafcommerce.core.order.service.OrderLockManager
    • acquireLockIfAvailable

      public Object acquireLockIfAvailable(org.broadleafcommerce.core.order.domain.Order order)
      Specified by:
      acquireLockIfAvailable in interface org.broadleafcommerce.core.order.service.OrderLockManager
    • releaseLock

      public void releaseLock(Object lockObject)
      Specified by:
      releaseLock in interface org.broadleafcommerce.core.order.service.OrderLockManager
    • getDatabaseLockPollingIntervalMs

      protected long getDatabaseLockPollingIntervalMs()
    • getDatabaseLockAcquisitionNumRetries

      protected int getDatabaseLockAcquisitionNumRetries()
    • isActive

      public boolean isActive()
      Specified by:
      isActive in interface org.broadleafcommerce.core.order.service.OrderLockManager