Class FreeSoftInventoryScheduledJobListener


  • @DataRouteByKey("inventory")
    public class FreeSoftInventoryScheduledJobListener
    extends Object
    Listens for the scheduled job trigger of a "Free Soft Inventory" scheduled job. Initiates the process for freeing the eligible soft inventory reservations.
    Author:
    Jacob Mitash
    • Constructor Detail

      • FreeSoftInventoryScheduledJobListener

        public FreeSoftInventoryScheduledJobListener​(com.broadleafcommerce.common.messaging.service.IdempotentMessageConsumptionService idempotentService,
                                                     FreeSoftInventoryJobService freeSoftInventoryJobService)
    • Method Detail

      • listen

        @StreamListener("triggeredJobEventInputFreeSoftInventory")
        public void listen​(org.springframework.messaging.Message<com.broadleafcommerce.common.messaging.domain.ScheduledJobRef> message)
        Listen to a scheduled job trigger message and handle it.
        Parameters:
        message - the message to listen for
      • doListen

        protected void doListen​(com.broadleafcommerce.common.messaging.domain.ScheduledJobRef jobRef)
        Do internal handling for the job trigger after any overhead tasks are completed.
        Parameters:
        jobRef - the reference to the scheduled job that was triggered
      • findMinReservationDuration

        protected Optional<Duration> findMinReservationDuration​(com.broadleafcommerce.common.messaging.domain.ScheduledJobRef jobRef)
        Retrieves the minimum reservation duration from the triggered job. See FreeSoftInventoryJobService.freeSoftInventory(Duration, ContextInfo) for details on the duration.
        Parameters:
        jobRef - the reference to the scheduled job that was triggered
        Returns:
        an optional of the minimum reservation duration if it could be determined
      • getIdempotentService

        protected com.broadleafcommerce.common.messaging.service.IdempotentMessageConsumptionService getIdempotentService()
      • 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()