Interface QuartzRuntimeConfig


@ConfigRoot(phase=RUN_TIME) @ConfigMapping(prefix="quarkus.quartz") public interface QuartzRuntimeConfig
  • Method Details

    • instanceName

      @WithDefault("QuarkusQuartzScheduler") String instanceName()
      The name of the Quartz instance.
    • instanceId

      @WithDefault("AUTO") String instanceId()
      The identifier of Quartz instance that must be unique for all schedulers working as if they are the same logical Scheduler within a cluster. Use the default value AUTO or some of the configured instance ID generators if you wish the identifier to be generated for you.
    • batchTriggerAcquisitionFireAheadTimeWindow

      @WithDefault("0") long batchTriggerAcquisitionFireAheadTimeWindow()
      The amount of time in milliseconds that a trigger is allowed to be acquired and fired ahead of its scheduled fire time.
    • batchTriggerAcquisitionMaxCount

      @WithDefault("1") int batchTriggerAcquisitionMaxCount()
      The maximum number of triggers that a scheduler node is allowed to acquire (for firing) at once.
    • threadCount

      @WithDefault("10") int threadCount()
      The size of scheduler thread pool. This will initialize the number of worker threads in the pool.

      It's important to bear in mind that Quartz threads are not used to execute scheduled methods, instead the regular Quarkus thread pool is used by default. See also quarkus.quartz.run-blocking-scheduled-method-on-quartz-thread.

    • threadPriority

      @WithDefault("5") int threadPriority()
      Thread priority of worker threads in the pool.
    • misfireThreshold

      @WithDefault("60") Duration misfireThreshold()
      Defines how late the schedulers should be to be considered misfired.
    • shutdownWaitTime

      @WithDefault("10") Duration shutdownWaitTime()
      The maximum amount of time Quarkus will wait for currently running jobs to finish. If the value is 0, then Quarkus will not wait at all for these jobs to finish - it will call org.quartz.Scheduler.shutdown(false) in this case.
    • simpleTriggerConfig

      @WithName("simple-trigger") QuartzRuntimeConfig.TriggerConfig simpleTriggerConfig()
      Simple trigger default configuration
    • cronTriggerConfig

      @WithName("cron-trigger") QuartzRuntimeConfig.TriggerConfig cronTriggerConfig()
      Cron trigger default configuration
    • misfirePolicyPerJobs

      @ConfigDocSection @ConfigDocMapKey("identity") @WithName("misfire-policy") Map<String,QuartzRuntimeConfig.QuartzMisfirePolicyConfig> misfirePolicyPerJobs()
      Misfire policy per job configuration.
    • unsupportedProperties

      @ConfigDocMapKey("full-property-key") Map<String,String> unsupportedProperties()
      Properties that should be passed on directly to Quartz. Use the full configuration property key here, for instance `quarkus.quartz.unsupported-properties."org.quartz.scheduler.jmx.export" = true`).

      Properties set here are completely unsupported: as Quarkus doesn't generally know about these properties and their purpose, there is absolutely no guarantee that they will work correctly, and even if they do, that may change when upgrading to a newer version of Quarkus (even just a micro/patch version).

      Consider using a supported configuration property before falling back to unsupported ones. If none exists, make sure to file a feature request so that a supported configuration property can be added to Quarkus, and more importantly so that the configuration property is tested regularly.

    • runBlockingScheduledMethodOnQuartzThread

      @WithDefault("false") boolean runBlockingScheduledMethodOnQuartzThread()
      When set to true, blocking scheduled methods are invoked on a thread managed by Quartz instead of a thread from the regular Quarkus thread pool (default).

      When this option is enabled, blocking scheduled methods do not run on a duplicated context.

    • deferredDatasourceName

      Optional<String> deferredDatasourceName()
      The name of the datasource to use.

      This property in valid only in combination with QuartzBuildTimeConfig.deferDatasourceCheck()