From 9786cc305d46d209117099951c497a3ac828e9b6 Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Wed, 28 Jun 2023 12:52:35 +0300 Subject: [PATCH] Quartz test --- .../v1/server/jobs/CustomQuartzConfiguration.java | 15 +++++++++------ .../src/main/resources/application.yml | 4 ++-- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/jobs/CustomQuartzConfiguration.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/jobs/CustomQuartzConfiguration.java index 7e65ab110..144945664 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/jobs/CustomQuartzConfiguration.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/jobs/CustomQuartzConfiguration.java @@ -14,6 +14,7 @@ import org.quartz.Calendar; import org.quartz.JobDetail; import org.quartz.Scheduler; import org.quartz.Trigger; +import org.quartz.impl.jdbcjobstore.PostgreSQLDelegate; import org.springframework.beans.factory.ObjectProvider; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.autoconfigure.AutoConfigureAfter; @@ -58,6 +59,7 @@ public class CustomQuartzConfiguration { @Bean @ConditionalOnMissingBean public SchedulerFactoryBean quartzScheduler(QuartzProperties properties, + @Qualifier("masterDataSource") DataSource dataSource, ObjectProvider customizers, ObjectProvider jobDetails, Map calendars, @@ -72,6 +74,7 @@ public class CustomQuartzConfiguration { schedulerFactoryBean.setSchedulerName(properties.getSchedulerName()); } + schedulerFactoryBean.setDataSource(dataSource); schedulerFactoryBean.setAutoStartup(properties.isAutoStartup()); schedulerFactoryBean.setStartupDelay((int) properties.getStartupDelay().getSeconds()); schedulerFactoryBean.setWaitForJobsToCompleteOnShutdown(properties.isWaitForJobsToCompleteOnShutdown()); @@ -80,11 +83,11 @@ public class CustomQuartzConfiguration { schedulerFactoryBean.setQuartzProperties(this.asProperties(properties.getProperties())); } - schedulerFactoryBean.setJobDetails((JobDetail[]) jobDetails.orderedStream().toArray((x$0) -> { + schedulerFactoryBean.setJobDetails(jobDetails.orderedStream().toArray((x$0) -> { return new JobDetail[x$0]; })); schedulerFactoryBean.setCalendars(calendars); - schedulerFactoryBean.setTriggers((Trigger[]) triggers.orderedStream().toArray((x$0) -> { + schedulerFactoryBean.setTriggers(triggers.orderedStream().toArray((x$0) -> { return new Trigger[x$0]; })); customizers.orderedStream().forEach((customizer) -> { @@ -135,7 +138,7 @@ public class CustomQuartzConfiguration { private DataSource getDataSource(DataSource dataSource, ObjectProvider quartzDataSource) { - DataSource dataSourceIfAvailable = (DataSource) quartzDataSource.getIfAvailable(); + DataSource dataSourceIfAvailable = quartzDataSource.getIfAvailable(); return dataSourceIfAvailable != null ? dataSourceIfAvailable : dataSource; } @@ -143,8 +146,8 @@ public class CustomQuartzConfiguration { private PlatformTransactionManager getTransactionManager(ObjectProvider transactionManager, ObjectProvider quartzTransactionManager) { - PlatformTransactionManager transactionManagerIfAvailable = (PlatformTransactionManager) quartzTransactionManager.getIfAvailable(); - return transactionManagerIfAvailable != null ? transactionManagerIfAvailable : (PlatformTransactionManager) transactionManager.getIfUnique(); + PlatformTransactionManager transactionManagerIfAvailable = quartzTransactionManager.getIfAvailable(); + return transactionManagerIfAvailable != null ? transactionManagerIfAvailable : transactionManager.getIfUnique(); } @@ -164,7 +167,7 @@ public class CustomQuartzConfiguration { OnQuartzDatasourceInitializationCondition() { - super("Quartz", new String[]{"spring.quartz.jdbc.initialize-schema"}); + super("Quartz", "spring.quartz.jdbc.initialize-schema"); } } diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/resources/application.yml b/persistence-service-v1/persistence-service-server-v1/src/main/resources/application.yml index 3ff4fb862..145ca89ad 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/resources/application.yml +++ b/persistence-service-v1/persistence-service-server-v1/src/main/resources/application.yml @@ -41,7 +41,6 @@ spring: max-attempts: 3 max-interval: 15000 prefetch: 1 - liquibase: change-log: classpath:/db/changelog/db.changelog-master.yaml quartz: @@ -52,12 +51,13 @@ spring: org: quartz: jobStore: + class: org.springframework.scheduling.quartz.LocalDataSourceJobStore clusterCheckinInterval: 1000 isClustered: true driverDelegateClass: org.quartz.impl.jdbcjobstore.PostgreSQLDelegate scheduler: instanceId: AUTO - job-store-type: jdbc + job-store-type: JDBC management: endpoint: