Package io.quarkus.quartz.runtime
Class QuartzSchedulerImpl
java.lang.Object
io.quarkus.scheduler.common.runtime.BaseScheduler
io.quarkus.quartz.runtime.QuartzSchedulerImpl
- All Implemented Interfaces:
QuartzScheduler,io.quarkus.scheduler.Scheduler
@Typed({QuartzScheduler.class,io.quarkus.scheduler.Scheduler.class})
@Singleton
public class QuartzSchedulerImpl
extends io.quarkus.scheduler.common.runtime.BaseScheduler
implements QuartzScheduler
Although this class is not part of the public API it must not be renamed in order to preserve backward compatibility. The
name of this class can be stored in a Quartz table in the database. See https://github.com/quarkusio/quarkus/issues/29177
for more information.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static interface(package private) static classAlthough this class is not part of the public API it must not be renamed in order to preserve backward compatibility.(package private) static class(package private) static class(package private) class(package private) static class(package private) static class(package private) static classNested classes/interfaces inherited from interface io.quarkus.quartz.QuartzScheduler
QuartzScheduler.QuartzJobDefinitionNested classes/interfaces inherited from interface io.quarkus.scheduler.Scheduler
io.quarkus.scheduler.Scheduler.JobDefinition<THIS extends io.quarkus.scheduler.Scheduler.JobDefinition<THIS>> -
Field Summary
FieldsModifier and TypeFieldDescription(package private) static final String(package private) static final String(package private) static final String(package private) static final String(package private) static final String(package private) static final StringFields inherited from class io.quarkus.scheduler.common.runtime.BaseScheduler
blockingExecutor, cronParser, defaultOverdueGracePeriod, events, jobInstrumenter, vertx -
Constructor Summary
ConstructorsConstructorDescriptionQuartzSchedulerImpl(io.quarkus.scheduler.common.runtime.SchedulerContext context, QuartzSupport quartzSupport, io.quarkus.scheduler.runtime.SchedulerRuntimeConfig schedulerRuntimeConfig, jakarta.enterprise.event.Event<io.quarkus.scheduler.SkippedExecution> skippedExecutionEvent, jakarta.enterprise.event.Event<io.quarkus.scheduler.SuccessfulExecution> successExecutionEvent, jakarta.enterprise.event.Event<io.quarkus.scheduler.FailedExecution> failedExecutionEvent, jakarta.enterprise.event.Event<io.quarkus.scheduler.DelayedExecution> delayedExecutionEvent, jakarta.enterprise.event.Event<io.quarkus.scheduler.SchedulerPaused> schedulerPausedEvent, jakarta.enterprise.event.Event<io.quarkus.scheduler.SchedulerResumed> schedulerResumedEvent, jakarta.enterprise.event.Event<io.quarkus.scheduler.ScheduledJobPaused> scheduledJobPausedEvent, jakarta.enterprise.event.Event<io.quarkus.scheduler.ScheduledJobResumed> scheduledJobResumedEvent, jakarta.enterprise.inject.Instance<org.quartz.Job> jobs, jakarta.enterprise.inject.Instance<jakarta.transaction.UserTransaction> userTransaction, io.vertx.core.Vertx vertx, io.quarkus.scheduler.runtime.SchedulerConfig schedulerConfig, jakarta.enterprise.inject.Instance<io.quarkus.scheduler.spi.JobInstrumenter> jobInstrumenter, ScheduledExecutorService blockingExecutor) -
Method Summary
Modifier and TypeMethodDescription(package private) QuartzSchedulerImpl.QuartzTriggercreateJobDefinitionQuartzTrigger(QuartzSchedulerImpl.ExecutionMetadata executionMetadata, io.quarkus.scheduler.common.runtime.SyntheticScheduled scheduled, org.quartz.Trigger oldTrigger) (package private) voiddestroy()(package private) voidNeed to gracefully shut down the scheduler making sure that all triggers have been released before datasource shutdown.io.quarkus.scheduler.TriggergetScheduledJob(String identity) List<io.quarkus.scheduler.Trigger> org.quartz.Schedulerbooleanbooleanbooleanvoidpause()void(package private) org.quartz.Schedulervoidresume()void(package private) voidstart(io.quarkus.runtime.StartupEvent startupEvent) io.quarkus.scheduler.TriggerunscheduleJob(String identity) Methods inherited from class io.quarkus.scheduler.common.runtime.BaseScheduler
initInvoker, initSkipPredicate, notStarted
-
Field Details
-
SCHEDULED_METADATA
- See Also:
-
EXECUTION_METADATA_TASK_CLASS
- See Also:
-
EXECUTION_METADATA_ASYNC_TASK_CLASS
- See Also:
-
EXECUTION_METADATA_RUN_ON_VIRTUAL_THREAD
- See Also:
-
EXECUTION_METADATA_NONCONCURRENT
- See Also:
-
EXECUTION_METADATA_SKIP_PREDICATE_CLASS
- See Also:
-
-
Constructor Details
-
QuartzSchedulerImpl
public QuartzSchedulerImpl(io.quarkus.scheduler.common.runtime.SchedulerContext context, QuartzSupport quartzSupport, io.quarkus.scheduler.runtime.SchedulerRuntimeConfig schedulerRuntimeConfig, jakarta.enterprise.event.Event<io.quarkus.scheduler.SkippedExecution> skippedExecutionEvent, jakarta.enterprise.event.Event<io.quarkus.scheduler.SuccessfulExecution> successExecutionEvent, jakarta.enterprise.event.Event<io.quarkus.scheduler.FailedExecution> failedExecutionEvent, jakarta.enterprise.event.Event<io.quarkus.scheduler.DelayedExecution> delayedExecutionEvent, jakarta.enterprise.event.Event<io.quarkus.scheduler.SchedulerPaused> schedulerPausedEvent, jakarta.enterprise.event.Event<io.quarkus.scheduler.SchedulerResumed> schedulerResumedEvent, jakarta.enterprise.event.Event<io.quarkus.scheduler.ScheduledJobPaused> scheduledJobPausedEvent, jakarta.enterprise.event.Event<io.quarkus.scheduler.ScheduledJobResumed> scheduledJobResumedEvent, jakarta.enterprise.inject.Instance<org.quartz.Job> jobs, jakarta.enterprise.inject.Instance<jakarta.transaction.UserTransaction> userTransaction, io.vertx.core.Vertx vertx, io.quarkus.scheduler.runtime.SchedulerConfig schedulerConfig, jakarta.enterprise.inject.Instance<io.quarkus.scheduler.spi.JobInstrumenter> jobInstrumenter, ScheduledExecutorService blockingExecutor)
-
-
Method Details
-
produceQuartzScheduler
@Produces @Singleton org.quartz.Scheduler produceQuartzScheduler() -
getScheduler
public org.quartz.Scheduler getScheduler()- Specified by:
getSchedulerin interfaceQuartzScheduler- Returns:
- the underlying
Schedulerinstance, ornullif the scheduler was not started
-
isStarted
public boolean isStarted()- Specified by:
isStartedin interfaceio.quarkus.scheduler.Scheduler
-
implementation
- Specified by:
implementationin interfaceio.quarkus.scheduler.Scheduler
-
pause
public void pause()- Specified by:
pausein interfaceio.quarkus.scheduler.Scheduler
-
pause
- Specified by:
pausein interfaceio.quarkus.scheduler.Scheduler
-
isPaused
- Specified by:
isPausedin interfaceio.quarkus.scheduler.Scheduler
-
resume
public void resume()- Specified by:
resumein interfaceio.quarkus.scheduler.Scheduler
-
resume
- Specified by:
resumein interfaceio.quarkus.scheduler.Scheduler
-
isRunning
public boolean isRunning()- Specified by:
isRunningin interfaceio.quarkus.scheduler.Scheduler
-
getScheduledJobs
- Specified by:
getScheduledJobsin interfaceio.quarkus.scheduler.Scheduler
-
getScheduledJob
- Specified by:
getScheduledJobin interfaceio.quarkus.scheduler.Scheduler
-
newJob
- Specified by:
newJobin interfaceQuartzScheduler- Specified by:
newJobin interfaceio.quarkus.scheduler.Scheduler
-
unscheduleJob
- Specified by:
unscheduleJobin interfaceio.quarkus.scheduler.Scheduler
-
start
void start(@Observes @Priority(0) io.quarkus.runtime.StartupEvent startupEvent) -
destroy
void destroy(@Observes(notifyObserver=IF_EXISTS) @BeforeDestroyed(jakarta.enterprise.context.ApplicationScoped.class) Object event) Need to gracefully shut down the scheduler making sure that all triggers have been released before datasource shutdown.- Parameters:
event- ignored
-
destroy
@PreDestroy void destroy() -
createJobDefinitionQuartzTrigger
QuartzSchedulerImpl.QuartzTrigger createJobDefinitionQuartzTrigger(QuartzSchedulerImpl.ExecutionMetadata executionMetadata, io.quarkus.scheduler.common.runtime.SyntheticScheduled scheduled, org.quartz.Trigger oldTrigger)
-