An scheduler is a class that arrange jobs in a define schedule. Once the Scheduler starts it launch a thread that triggers an action, when stopped, that action is not executed anymore, unless it is scheduled on demand by the method {@link org.mule.api.schedule.Scheduler#schedule()}
The initialization of a Scheduler is thought to be the stage where it reserves resources to schedule. While the dispose phase is thought to be the stage where those resources are released.
This interface implements {@link NameableObject} the name of the Scheduler is used as its identifier in the{@link org.mule.api.registry.MuleRegistry}
The recommended way to create a Scheduler is by a {@link SchedulerFactory}, this will allow other users to hook the Scheduler creation. This can me omitted if this is not desired.
Each scheduler is thought to schedule a single job. Check the {@link SchedulerFactory#create(String,Object)} to see thecreation of the scheduler for more details.
@since 3.5.0