Class ScheduledJobProcessingUtil
java.lang.Object
com.broadleafcommerce.common.messaging.util.scheduledjob.ScheduledJobProcessingUtil
A utility class to execute a scheduled job while sending
ScheduledJobStartedEvent
and
ScheduledJobCompletedEvent
to facilitate tracking scheduled job execution details.- Author:
- Sunny Yu
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic ScheduledJobCompletedEvent
buildScheduledJobCompletedEvent
(@NonNull ScheduledJobRef jobRef, String noteMessage, boolean isSuccessful, String errorMessage) Builds aScheduledJobCompletedEvent
to record the execution detailsstatic ScheduledJobStartedEvent
buildScheduledJobStartedEvent
(@NonNull ScheduledJobRef jobRef, @NonNull String noteMessage) Builds aScheduledJobStartedEvent
to record the execution detailsstatic void
executeJobWithTrackingExecutionDetails
(@NonNull ScheduledJobRef jobRef, @NonNull Consumer<org.springframework.messaging.Message<?>> jobStartedMessageSender, @NonNull Consumer<org.springframework.messaging.Message<?>> jobCompletedMessageSender, @NonNull Consumer<ScheduledJobRef> scheduledJobExecutor) Executes the scheduled job using the givenscheduledJobExecutor
with the ability to track its execution details by sending theScheduledJobStartedEvent
andScheduledJobCompletedEvent
.static void
sendScheduledJobCompletedEventMessageIfNeeded
(@NonNull ScheduledJobRef jobRef, String noteMessage, boolean isSuccessful, String errorMessage, @NonNull Consumer<org.springframework.messaging.Message<?>> messageSender) Sends aScheduledJobCompletedEvent
to record the execution details if enabled.static void
sendScheduledJobStartedEventMessageIfNeeded
(@NonNull ScheduledJobRef jobRef, @NonNull Consumer<org.springframework.messaging.Message<?>> messageSender) Sends aScheduledJobStartedEvent
to record the execution details if enabled.static void
sendSuccessfulScheduledJobCompletedEventMessageIfNeeded
(@NonNull ScheduledJobRef jobRef, @NonNull Consumer<org.springframework.messaging.Message<?>> messageSender) Sends a successfulScheduledJobCompletedEvent
to record the execution details if enabled.static void
sendSuccessfulScheduledJobCompletedEventMessageIfNeeded
(@NonNull ScheduledJobRef jobRef, String noteMessage, @NonNull Consumer<org.springframework.messaging.Message<?>> messageSender) Sends a successfulScheduledJobCompletedEvent
with a note message to record the execution details if enabled.
-
Constructor Details
-
ScheduledJobProcessingUtil
public ScheduledJobProcessingUtil()
-
-
Method Details
-
executeJobWithTrackingExecutionDetails
public static void executeJobWithTrackingExecutionDetails(@NonNull @NonNull ScheduledJobRef jobRef, @NonNull @NonNull Consumer<org.springframework.messaging.Message<?>> jobStartedMessageSender, @NonNull @NonNull Consumer<org.springframework.messaging.Message<?>> jobCompletedMessageSender, @NonNull @NonNull Consumer<ScheduledJobRef> scheduledJobExecutor) Executes the scheduled job using the givenscheduledJobExecutor
with the ability to track its execution details by sending theScheduledJobStartedEvent
andScheduledJobCompletedEvent
.- Parameters:
jobRef
- theScheduledJobRef
for the scheduled job that is being executedjobStartedMessageSender
- the message sender used to send aScheduledJobStartedEvent
. This should be a Spring Cloud message producer that takes in aMessage
.jobCompletedMessageSender
- the message sender used to send aScheduledJobCompletedEvent
. This should be a Spring Cloud message producer that takes in aMessage
.scheduledJobExecutor
- theConsumer<ScheduledJobRef>
that is used to execute the scheduled job
-
sendScheduledJobStartedEventMessageIfNeeded
public static void sendScheduledJobStartedEventMessageIfNeeded(@NonNull @NonNull ScheduledJobRef jobRef, @NonNull @NonNull Consumer<org.springframework.messaging.Message<?>> messageSender) Sends aScheduledJobStartedEvent
to record the execution details if enabled.- Parameters:
jobRef
- theScheduledJobRef
for the scheduled job that the message is being sent formessageSender
- the message sender used to send aScheduledJobStartedEvent
. This should be a Spring Cloud message producer that takes in aMessage
.
-
sendSuccessfulScheduledJobCompletedEventMessageIfNeeded
public static void sendSuccessfulScheduledJobCompletedEventMessageIfNeeded(@NonNull @NonNull ScheduledJobRef jobRef, @NonNull @NonNull Consumer<org.springframework.messaging.Message<?>> messageSender) Sends a successfulScheduledJobCompletedEvent
to record the execution details if enabled.- Parameters:
jobRef
- theScheduledJobRef
for the scheduled job that the message is being sent formessageSender
- the message sender used to send aScheduledJobCompletedEvent
. This should be a Spring Cloud message producer that takes in aMessage
.
-
sendSuccessfulScheduledJobCompletedEventMessageIfNeeded
public static void sendSuccessfulScheduledJobCompletedEventMessageIfNeeded(@NonNull @NonNull ScheduledJobRef jobRef, @Nullable String noteMessage, @NonNull @NonNull Consumer<org.springframework.messaging.Message<?>> messageSender) Sends a successfulScheduledJobCompletedEvent
with a note message to record the execution details if enabled.- Parameters:
jobRef
- theScheduledJobRef
for the scheduled job that the message is being sent formessageSender
- the message sender used to send aScheduledJobCompletedEvent
. This should be a Spring Cloud message producer that takes in aMessage
-
sendScheduledJobCompletedEventMessageIfNeeded
public static void sendScheduledJobCompletedEventMessageIfNeeded(@NonNull @NonNull ScheduledJobRef jobRef, @Nullable String noteMessage, boolean isSuccessful, @Nullable String errorMessage, @NonNull @NonNull Consumer<org.springframework.messaging.Message<?>> messageSender) Sends aScheduledJobCompletedEvent
to record the execution details if enabled.- Parameters:
jobRef
- theScheduledJobRef
for the scheduled job that the message is being sent fornoteMessage
- the note message for theScheduledJobCompletedEvent.getNote()
isSuccessful
- whether the job execution was successfulerrorMessage
- the error messagemessageSender
- the message sender used to send aScheduledJobStartedEvent
. This should be a Spring Cloud message producer that takes in aMessage
.
-
buildScheduledJobStartedEvent
public static ScheduledJobStartedEvent buildScheduledJobStartedEvent(@NonNull @NonNull ScheduledJobRef jobRef, @NonNull @NonNull String noteMessage) Builds aScheduledJobStartedEvent
to record the execution details- Parameters:
jobRef
- the jobRef from which the event is builtnoteMessage
- a message to set on the execution detail- Returns:
ScheduledJobStartedEvent
-
buildScheduledJobCompletedEvent
public static ScheduledJobCompletedEvent buildScheduledJobCompletedEvent(@NonNull @NonNull ScheduledJobRef jobRef, @Nullable String noteMessage, boolean isSuccessful, @Nullable String errorMessage) Builds aScheduledJobCompletedEvent
to record the execution details- Parameters:
jobRef
- the jobRef from which the event is builtnoteMessage
- a message to set on the execution detailisSuccessful
- a flag indicating the scheduled job execution statuserrorMessage
- error message to set on the execution detail- Returns:
ScheduledJobCompletedEvent
-