Class PurgeAbandonedCartsJobListener


  • @DataRouteByKey("cart")
    public class PurgeAbandonedCartsJobListener
    extends Object
    Listener to initiate the purging of outdated anonymous carts.
    • Constructor Detail

      • PurgeAbandonedCartsJobListener

        public PurgeAbandonedCartsJobListener​(com.broadleafcommerce.common.messaging.service.IdempotentMessageConsumptionService idempotentService,
                                              CartService<com.broadleafcommerce.cart.client.domain.Cart> cartService)
    • Method Detail

      • listen

        @StreamListener("triggeredJobEventInputPurgeCarts")
        public void listen​(org.springframework.messaging.Message<com.broadleafcommerce.common.messaging.domain.ScheduledJobRef> message)
      • process

        protected void process​(com.broadleafcommerce.common.messaging.domain.ScheduledJobRef scheduledJobRef)
        Purge anonymous carts after configurable time has passed
        Parameters:
        scheduledJobRef - The job being executed
      • buildJobDetailsMap

        protected Map<String,​String> buildJobDetailsMap​(com.broadleafcommerce.common.messaging.domain.ScheduledJobRef scheduledJobRef)
        Build a map from the scheduled job details.
        Parameters:
        scheduledJobRef - The job being executed.
        Returns:
        Map of ScheduledJobDetailRef name to String value
      • getAbandonedCartTimeout

        protected Duration getAbandonedCartTimeout​(Map<String,​String> jobDetails)
        Get the abandoned cart timeout from the job details map or the default value.
        Parameters:
        jobDetails - Map of ScheduledJobDetailRef
        Returns:
        The amount of time since last update until a cart is considered abandoned.
      • getStatuses

        protected Collection<String> getStatuses​(Map<String,​String> jobDetails)
        Get the statuses to purge from the job details map or the default value.
        Parameters:
        jobDetails - Map of ScheduledJobDetailRef.
        Returns:
        Collection of cart statuses that should be purged.
      • getIdempotentService

        protected com.broadleafcommerce.common.messaging.service.IdempotentMessageConsumptionService getIdempotentService()
      • getCartService

        protected CartService<com.broadleafcommerce.cart.client.domain.Cart> getCartService()
      • setScheduledJobContextService

        @Autowired
        public void setScheduledJobContextService​(com.broadleafcommerce.data.tracking.core.service.scheduledjob.ScheduledJobContextService scheduledJobContextService)
      • getScheduledJobContextService

        protected com.broadleafcommerce.data.tracking.core.service.scheduledjob.ScheduledJobContextService getScheduledJobContextService()