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 Summary
Fields Modifier and Type Field Description protected static String
DETAIL_MIN_DURATION
protected static Duration
FALLBACK_MIN_DURATION
protected static String
JOB_TYPE
-
Constructor Summary
Constructors Constructor Description FreeSoftInventoryScheduledJobListener(com.broadleafcommerce.common.messaging.service.IdempotentMessageConsumptionService idempotentService, FreeSoftInventoryJobService freeSoftInventoryJobService)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
doListen(com.broadleafcommerce.common.messaging.domain.ScheduledJobRef jobRef)
Do internal handling for the job trigger after any overhead tasks are completed.protected Optional<Duration>
findMinReservationDuration(com.broadleafcommerce.common.messaging.domain.ScheduledJobRef jobRef)
Retrieves the minimum reservation duration from the triggered job.protected FreeSoftInventoryJobService
getFreeSoftInventoryJobService()
protected com.broadleafcommerce.common.messaging.service.IdempotentMessageConsumptionService
getIdempotentService()
protected com.broadleafcommerce.data.tracking.core.service.scheduledjob.ScheduledJobContextService
getScheduledJobContextService()
void
listen(org.springframework.messaging.Message<com.broadleafcommerce.common.messaging.domain.ScheduledJobRef> message)
Listen to a scheduled job trigger message and handle it.void
setScheduledJobContextService(com.broadleafcommerce.data.tracking.core.service.scheduledjob.ScheduledJobContextService scheduledJobContextService)
-
-
-
Field Detail
-
JOB_TYPE
protected static final String JOB_TYPE
- See Also:
- Constant Field Values
-
DETAIL_MIN_DURATION
protected static final String DETAIL_MIN_DURATION
- See Also:
- Constant Field Values
-
FALLBACK_MIN_DURATION
protected static final Duration FALLBACK_MIN_DURATION
-
-
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. SeeFreeSoftInventoryJobService.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()
-
-