Class FreeSoftInventoryScheduledJobListener

java.lang.Object
com.broadleafcommerce.inventory.job.freeinventory.listener.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
  • Field Details

  • Constructor Details

    • FreeSoftInventoryScheduledJobListener

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

    • 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()
    • getFreeSoftInventoryJobService

      protected FreeSoftInventoryJobService getFreeSoftInventoryJobService()
    • 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()