public class SimpleDeadlineManager extends AbstractDeadlineManager
DeadlineManager which uses Java's ScheduledExecutorService as scheduling and
triggering mechanism.
Note that this mechanism is non-persistent. Scheduled tasks will be lost then the JVM is shut down, unless special
measures have been taken to prevent that. For more flexible and powerful scheduling options, see QuartzDeadlineManager.
| Modifier and Type | Class and Description |
|---|---|
static class |
SimpleDeadlineManager.Builder
Builder class to instantiate a
SimpleDeadlineManager. |
| Modifier | Constructor and Description |
|---|---|
protected |
SimpleDeadlineManager(SimpleDeadlineManager.Builder builder)
Instantiate a
SimpleDeadlineManager based on the fields contained in the SimpleDeadlineManager.Builder to handle the
process around scheduling and triggering a DeadlineMessage. |
| Modifier and Type | Method and Description |
|---|---|
static SimpleDeadlineManager.Builder |
builder()
Instantiate a Builder to be able to create a
SimpleDeadlineManager. |
void |
cancelAll(String deadlineName)
Cancels all the deadlines corresponding to the given
deadlineName. |
void |
cancelAllWithinScope(String deadlineName,
ScopeDescriptor scope)
Cancels all deadlines corresponding to the given
deadlineName and scope. |
void |
cancelSchedule(String deadlineName,
String scheduleId)
Cancels the deadline corresponding to the given
deadlineName / scheduleId combination. |
String |
schedule(Instant triggerDateTime,
String deadlineName,
Object messageOrPayload,
ScopeDescriptor deadlineScope)
Schedules a deadline at given
triggerDateTime with provided context. |
void |
shutdown()
Shuts down this deadline manager.
|
dispatchInterceptors, handlerInterceptors, processDispatchInterceptors, registerDispatchInterceptor, registerHandlerInterceptor, runOnPrepareCommitOrNowclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcancelAllWithinScope, schedule, schedule, schedule, schedule, scheduleprotected SimpleDeadlineManager(SimpleDeadlineManager.Builder builder)
SimpleDeadlineManager based on the fields contained in the SimpleDeadlineManager.Builder to handle the
process around scheduling and triggering a DeadlineMessage.
Will assert that the ScopeAwareProvider, ScheduledExecutorService and TransactionManager
are not null, and will throw an AxonConfigurationException if either of them is null.
builder - the SimpleDeadlineManager.Builder used to instantiate a SimpleDeadlineManager instancepublic static SimpleDeadlineManager.Builder builder()
SimpleDeadlineManager.
The ScheduledExecutorService is defaulted to an Executors.newSingleThreadScheduledExecutor()
which contains an AxonThreadFactory, and the TransactionManager defaults to a
NoTransactionManager. The ScopeAwareProvider is a hard requirement and as such should be
provided.
SimpleDeadlineManagerpublic String schedule(Instant triggerDateTime, String deadlineName, Object messageOrPayload, ScopeDescriptor deadlineScope)
DeadlineManagertriggerDateTime with provided context. The returned scheduleId and
provided deadlineName combination can be used to cancel the scheduled deadline.
The given messageOrPayload may be any object, as well as a DeadlineMessage. In the latter case, the
instance provided is the donor for the payload and MetaData of the actual
deadline being used. In the former case, the given messageOrPayload will be wrapped as the payload of a
DeadlineMessage.
triggerDateTime - A Instant denoting the moment to trigger the deadline handlingdeadlineName - A String representing the name of the deadline to schedulemessageOrPayload - A Message or payload for a message as an
ObjectdeadlineScope - A ScopeDescriptor describing the scope within which the deadline was scheduledscheduleId as a String to use when cancelling the schedulepublic void cancelSchedule(String deadlineName, String scheduleId)
DeadlineManagerdeadlineName / scheduleId combination.
This method has no impact on deadlines which have already been triggered.public void cancelAll(String deadlineName)
DeadlineManagerdeadlineName.
This method has no impact on deadlines which have already been triggered.deadlineName - a String representing the name of the deadlines to cancelpublic void cancelAllWithinScope(String deadlineName, ScopeDescriptor scope)
DeadlineManagerdeadlineName and scope.
This method has no impact on deadlines which have already been triggered.deadlineName - a String representing the name of the deadlines to cancelscope - a ScopeDescriptor describing the scope within which the deadline was scheduled@ShutdownHandler(phase=1073741823) public void shutdown()
Will shutdown in the Phase.INBOUND_EVENT_CONNECTORS phase.
Copyright © 2010–2020. All rights reserved.