Class CartOpsMessageLockService
- java.lang.Object
-
- com.broadleafcommerce.cartoperation.service.messaging.idempotency.CartOpsMessageLockService
-
- All Implemented Interfaces:
com.broadleafcommerce.common.messaging.service.MessageLockService
public class CartOpsMessageLockService extends Object implements com.broadleafcommerce.common.messaging.service.MessageLockService
A cart operations specific implementation of the message lock service. This version uses a resources lock provider since cart operations is not attached to a data source (DB) to store locks in.- Author:
- Jacob Mitash
-
-
Field Summary
Fields Modifier and Type Field Description static String
MESSAGE_IDEMPOTENCY_KEY
-
Constructor Summary
Constructors Constructor Description CartOpsMessageLockService(ResourceLockProvider resourceLockProvider)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
obtainLock(@NonNull org.springframework.messaging.Message<?> message, @NonNull String listenerName)
void
purgeLocks(Duration messageLockTtl)
void
releaseLock(String lockToken)
-
-
-
Field Detail
-
MESSAGE_IDEMPOTENCY_KEY
public static final String MESSAGE_IDEMPOTENCY_KEY
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
CartOpsMessageLockService
public CartOpsMessageLockService(ResourceLockProvider resourceLockProvider)
-
-
Method Detail
-
obtainLock
public String obtainLock(@NonNull @NonNull org.springframework.messaging.Message<?> message, @NonNull @NonNull String listenerName)
- Specified by:
obtainLock
in interfacecom.broadleafcommerce.common.messaging.service.MessageLockService
-
releaseLock
public void releaseLock(@Nullable String lockToken)
- Specified by:
releaseLock
in interfacecom.broadleafcommerce.common.messaging.service.MessageLockService
-
purgeLocks
public void purgeLocks(Duration messageLockTtl)
- Specified by:
purgeLocks
in interfacecom.broadleafcommerce.common.messaging.service.MessageLockService
-
-