From 1467d4c40bee47feffcdc792adf45f73589c0f43 Mon Sep 17 00:00:00 2001 From: Eoin Gallinagh Date: Thu, 10 Mar 2022 18:42:44 +0000 Subject: [PATCH] Add misfireThreshold default to QuartzRuntimeConfig.java --- .../java/io/quarkus/quartz/runtime/QuartzRuntimeConfig.java | 6 ++++++ .../java/io/quarkus/quartz/runtime/QuartzScheduler.java | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/extensions/quartz/runtime/src/main/java/io/quarkus/quartz/runtime/QuartzRuntimeConfig.java b/extensions/quartz/runtime/src/main/java/io/quarkus/quartz/runtime/QuartzRuntimeConfig.java index dfd8535f8a76cd..ae202e1d3c411d 100644 --- a/extensions/quartz/runtime/src/main/java/io/quarkus/quartz/runtime/QuartzRuntimeConfig.java +++ b/extensions/quartz/runtime/src/main/java/io/quarkus/quartz/runtime/QuartzRuntimeConfig.java @@ -25,6 +25,12 @@ public class QuartzRuntimeConfig { @ConfigItem(defaultValue = "5") public int threadPriority; + /** + * Defines how late the schedulers should be to be considered misfired. + */ + @ConfigItem(defaultValue = "60") + public Duration misfireThreshold; + /** * Scheduler can be started in different modes: normal, forced or halted. * By default, the scheduler is not started unless a {@link io.quarkus.scheduler.Scheduled} business method diff --git a/extensions/quartz/runtime/src/main/java/io/quarkus/quartz/runtime/QuartzScheduler.java b/extensions/quartz/runtime/src/main/java/io/quarkus/quartz/runtime/QuartzScheduler.java index cf6a9b150012e3..cb053ab716c83e 100644 --- a/extensions/quartz/runtime/src/main/java/io/quarkus/quartz/runtime/QuartzScheduler.java +++ b/extensions/quartz/runtime/src/main/java/io/quarkus/quartz/runtime/QuartzScheduler.java @@ -437,7 +437,9 @@ private Properties getSchedulerConfigurationProperties(QuartzSupport quartzSuppo String dataSource = buildTimeConfig.dataSourceName.orElse("QUARKUS_QUARTZ_DEFAULT_DATASOURCE"); QuarkusQuartzConnectionPoolProvider.setDataSourceName(dataSource); props.put(StdSchedulerFactory.PROP_JOB_STORE_PREFIX + ".useProperties", "true"); - props.put(StdSchedulerFactory.PROP_JOB_STORE_PREFIX + ".misfireThreshold", "60000"); + props.put(StdSchedulerFactory.PROP_JOB_STORE_PREFIX + ".misfireThreshold", + "" + quartzSupport.getRuntimeConfig().misfireThreshold.toMillis()); + props.put(StdSchedulerFactory.PROP_JOB_STORE_PREFIX + ".tablePrefix", buildTimeConfig.tablePrefix); props.put(StdSchedulerFactory.PROP_JOB_STORE_PREFIX + ".dataSource", dataSource); props.put(StdSchedulerFactory.PROP_JOB_STORE_PREFIX + ".driverDelegateClass",