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 ScheduledJobCompletedEventbuildScheduledJobCompletedEvent(@NonNull ScheduledJobRef jobRef, String noteMessage, boolean isSuccessful, String errorMessage) Builds aScheduledJobCompletedEventto record the execution detailsstatic ScheduledJobStartedEventbuildScheduledJobStartedEvent(@NonNull ScheduledJobRef jobRef, @NonNull String noteMessage) Builds aScheduledJobStartedEventto record the execution detailsstatic voidexecuteJobWithTrackingExecutionDetails(@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 givenscheduledJobExecutorwith the ability to track its execution details by sending theScheduledJobStartedEventandScheduledJobCompletedEvent.static voidsendScheduledJobCompletedEventMessageIfNeeded(@NonNull ScheduledJobRef jobRef, String noteMessage, boolean isSuccessful, String errorMessage, @NonNull Consumer<org.springframework.messaging.Message<?>> messageSender) Sends aScheduledJobCompletedEventto record the execution details if enabled.static voidsendScheduledJobStartedEventMessageIfNeeded(@NonNull ScheduledJobRef jobRef, @NonNull Consumer<org.springframework.messaging.Message<?>> messageSender) Sends aScheduledJobStartedEventto record the execution details if enabled.static voidsendSuccessfulScheduledJobCompletedEventMessageIfNeeded(@NonNull ScheduledJobRef jobRef, @NonNull Consumer<org.springframework.messaging.Message<?>> messageSender) Sends a successfulScheduledJobCompletedEventto record the execution details if enabled.static voidsendSuccessfulScheduledJobCompletedEventMessageIfNeeded(@NonNull ScheduledJobRef jobRef, String noteMessage, @NonNull Consumer<org.springframework.messaging.Message<?>> messageSender) Sends a successfulScheduledJobCompletedEventwith 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 givenscheduledJobExecutorwith the ability to track its execution details by sending theScheduledJobStartedEventandScheduledJobCompletedEvent.- Parameters:
jobRef- theScheduledJobReffor 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 aScheduledJobStartedEventto record the execution details if enabled.- Parameters:
jobRef- theScheduledJobReffor 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 successfulScheduledJobCompletedEventto record the execution details if enabled.- Parameters:
jobRef- theScheduledJobReffor 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 successfulScheduledJobCompletedEventwith a note message to record the execution details if enabled.- Parameters:
jobRef- theScheduledJobReffor 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 aScheduledJobCompletedEventto record the execution details if enabled.- Parameters:
jobRef- theScheduledJobReffor 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 aScheduledJobStartedEventto 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 aScheduledJobCompletedEventto 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
-