Interface QuartzBuildTimeConfig


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

    • clustered

      @WithDefault("false") boolean clustered()
      Enable cluster mode or not.

      If enabled make sure to set the appropriate cluster properties.

    • clusterCheckinInterval

      @WithDefault("15000") long clusterCheckinInterval()
      The frequency (in milliseconds) at which the scheduler instance checks-in with other instances of the cluster.

      Ignored if using a `ram` store i.e StoreType.RAM.

    • storeType

      @WithDefault("ram") StoreType storeType()
      The type of store to use.

      When using StoreType.JDBC_CMT or StoreType.JDBC_TX configuration values make sure that you have the datasource configured. See Configuring your datasource for more information.

      To create Quartz tables, you can perform a schema migration via the Flyway extension using a SQL script matching your database picked from Quartz repository.

    • threadPoolClass

      @WithDefault("org.quartz.simpl.SimpleThreadPool") String threadPoolClass()
      The class name of the thread pool implementation to use.

      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.

    • dataSourceName

      @WithName("datasource") Optional<String> dataSourceName()
      The name of the datasource to use.

      Ignored if using a `ram` store i.e StoreType.RAM.

      Optionally needed when using the `jdbc-tx` or `jdbc-cmt` store types. If not specified, defaults to using the default datasource.

    • deferDatasourceCheck

      @WithDefault("false") boolean deferDatasourceCheck()
      If set to true, defers datasource check to runtime. False by default.

      Used in combination with runtime configuration QuartzRuntimeConfig.deferredDatasourceName().

      It is considered a configuration error to specify a datasource via dataSourceName() along with setting this property to true.

    • tablePrefix

      @WithDefault("QRTZ_") String tablePrefix()
      The prefix for quartz job store tables.

      Ignored if using a `ram` store i.e StoreType.RAM

    • selectWithLockSql

      Optional<String> selectWithLockSql()
      The SQL string that selects a row in the "LOCKS" table and places a lock on the row.

      Ignored if using a `ram` store i.e StoreType.RAM.

      If not set, the default value of Quartz applies, for which the "{0}" is replaced during run-time with the `table-prefix`, the "{1}" with the `instance-name`.

      An example SQL string `SELECT * FROM {0}LOCKS WHERE SCHED_NAME = {1} AND LOCK_NAME = ? FOR UPDATE`

    • driverDelegate

      Optional<String> driverDelegate()
      Allows users to specify fully qualified class name for a custom JDBC driver delegate.

      This property is optional and leaving it empty will result in Quarkus automatically choosing appropriate default driver delegate implementation.

      Note that any custom implementation has to be a subclass of existing Quarkus implementation such as QuarkusPostgreSQLDelegate or QuarkusMSSQLDelegate

    • serializeJobData

      @WithDefault("false") boolean serializeJobData()
      Instructs JDBCJobStore to serialize JobDataMaps in the BLOB column.

      Ignored if using a `ram` store i.e StoreType.RAM.

      If this is set to `true`, the JDBCJobStore will store the JobDataMaps in their serialize form in the BLOB Column. This is useful when you want to store complex JobData objects other than String. This is equivalent of setting `org.quartz.jobStore.useProperties` to `false`. NOTE: When this option is set to `true`, all the non-String classes used in JobDataMaps have to be registered for serialization when building a native image

      If this is set to `false` (the default), the values can be stored as name-value pairs rather than storing more complex objects in their serialized form in the BLOB column. This can be handy, as you avoid the class versioning issues that can arise from serializing your non-String classes into a BLOB. This is equivalent of setting `org.quartz.jobStore.useProperties` to `true`.

    • instanceIdGenerators

      @ConfigDocMapKey("generator-name") @ConfigDocSection Map<String,QuartzExtensionPointConfig> instanceIdGenerators()
      Instance ID generators.
    • triggerListeners

      @ConfigDocMapKey("listener-name") @ConfigDocSection Map<String,QuartzExtensionPointConfig> triggerListeners()
      Trigger listeners.
    • jobListeners

      @ConfigDocMapKey("listener-name") @ConfigDocSection Map<String,QuartzExtensionPointConfig> jobListeners()
      Job listeners.
    • plugins

      @ConfigDocMapKey("plugin-name") @ConfigDocSection Map<String,QuartzExtensionPointConfig> plugins()
      Plugins.