From 05591546b39c5e87b6b3934eed48935d6a8af242 Mon Sep 17 00:00:00 2001 From: Fabio Formosa Date: Fri, 7 Oct 2022 23:44:35 +0200 Subject: [PATCH] #67 put a qualifier name to the quartz-scheduler instance --- .../api/configuration/QuartzDefaultPropertiesConfig.java | 2 +- .../quartzmanager/api/configuration/SchedulerConfig.java | 9 +++++---- .../api/converters/JobKeyToJobDetailDTO.java | 2 ++ .../quartzmanager/api/services/SchedulerService.java | 3 ++- .../quartzmanager/api/services/SimpleTriggerService.java | 3 ++- .../quartzmanager/api/services/TriggerService.java | 3 ++- 6 files changed, 14 insertions(+), 8 deletions(-) diff --git a/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/api/configuration/QuartzDefaultPropertiesConfig.java b/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/api/configuration/QuartzDefaultPropertiesConfig.java index 1ac05c1..11e0a52 100644 --- a/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/api/configuration/QuartzDefaultPropertiesConfig.java +++ b/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/api/configuration/QuartzDefaultPropertiesConfig.java @@ -6,7 +6,7 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration -@ConditionalOnProperty(name = "quartz.enabled", matchIfMissing = true) +@ConditionalOnProperty(name = "quartz-manager.quartz.enabled", matchIfMissing = true) public class QuartzDefaultPropertiesConfig { protected static final String QUARTZ_MANAGER_SCHEDULER_DEFAULT_NAME = "quartz-manager-scheduler"; diff --git a/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/api/configuration/SchedulerConfig.java b/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/api/configuration/SchedulerConfig.java index a1ec698..5992fcf 100644 --- a/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/api/configuration/SchedulerConfig.java +++ b/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/api/configuration/SchedulerConfig.java @@ -4,6 +4,7 @@ import it.fabioformosa.quartzmanager.api.common.properties.QuartzModulePropertie import it.fabioformosa.quartzmanager.api.scheduler.AutowiringSpringBeanJobFactory; import org.quartz.spi.JobFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.config.PropertiesFactoryBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnResource; @@ -18,7 +19,7 @@ import java.util.List; import java.util.Properties; @Configuration -@ConditionalOnProperty(name = "quartz.enabled", matchIfMissing = true) +@ConditionalOnProperty(name = "quartz-manager.quartz.enabled", matchIfMissing = true) public class SchedulerConfig { private final List quartzModuleProperties; @@ -28,7 +29,7 @@ public class SchedulerConfig { this.quartzModuleProperties = quartzModuleProperties; } - @Bean + @Bean(name = "quartzJobFactory") public JobFactory jobFactory(ApplicationContext applicationContext) { AutowiringSpringBeanJobFactory jobFactory = new AutowiringSpringBeanJobFactory(); jobFactory.setApplicationContext(applicationContext); @@ -44,8 +45,8 @@ public class SchedulerConfig { return propertiesFactoryBean.getObject(); } - @Bean(name = "scheduler") - public SchedulerFactoryBean schedulerFactoryBean(JobFactory jobFactory, Properties quartzProperties) throws IOException { + @Bean(name = "quartzScheduler") + public SchedulerFactoryBean schedulerFactoryBean(@Qualifier("quartzJobFactory") JobFactory jobFactory, Properties quartzProperties) throws IOException { SchedulerFactoryBean factory = new SchedulerFactoryBean(); factory.setJobFactory(jobFactory); Properties mergedProperties = new Properties(); diff --git a/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/api/converters/JobKeyToJobDetailDTO.java b/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/api/converters/JobKeyToJobDetailDTO.java index 27561ef..7f20b69 100644 --- a/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/api/converters/JobKeyToJobDetailDTO.java +++ b/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/api/converters/JobKeyToJobDetailDTO.java @@ -7,11 +7,13 @@ import org.quartz.JobDetail; import org.quartz.JobKey; import org.quartz.Scheduler; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Component; @Component public class JobKeyToJobDetailDTO extends AbstractBaseConverterToDTO { + @Qualifier("quartzScheduler") @Autowired private Scheduler scheduler; diff --git a/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/api/services/SchedulerService.java b/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/api/services/SchedulerService.java index 66f43f1..3c4c3e0 100644 --- a/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/api/services/SchedulerService.java +++ b/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/api/services/SchedulerService.java @@ -3,13 +3,14 @@ package it.fabioformosa.quartzmanager.api.services; import it.fabioformosa.quartzmanager.api.dto.SchedulerDTO; import org.quartz.Scheduler; import org.quartz.SchedulerException; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.core.convert.ConversionService; import org.springframework.stereotype.Service; @Service public class SchedulerService extends AbstractSchedulerService{ - public SchedulerService(Scheduler scheduler, ConversionService conversionService) { + public SchedulerService(@Qualifier("quartzScheduler") Scheduler scheduler, ConversionService conversionService) { super(scheduler, conversionService); } diff --git a/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/api/services/SimpleTriggerService.java b/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/api/services/SimpleTriggerService.java index 8c8bbbd..88ffa93 100644 --- a/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/api/services/SimpleTriggerService.java +++ b/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/api/services/SimpleTriggerService.java @@ -5,13 +5,14 @@ import it.fabioformosa.quartzmanager.api.dto.TriggerDTO; import it.fabioformosa.quartzmanager.api.dto.SimpleTriggerDTO; import it.fabioformosa.quartzmanager.api.exceptions.TriggerNotFoundException; import org.quartz.*; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.core.convert.ConversionService; import org.springframework.stereotype.Service; @Service public class SimpleTriggerService extends AbstractSchedulerService { - public SimpleTriggerService(Scheduler scheduler, ConversionService conversionService) { + public SimpleTriggerService(@Qualifier("quartzScheduler") Scheduler scheduler, ConversionService conversionService) { super(scheduler, conversionService); } diff --git a/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/api/services/TriggerService.java b/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/api/services/TriggerService.java index 93368f6..7538009 100644 --- a/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/api/services/TriggerService.java +++ b/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/api/services/TriggerService.java @@ -5,6 +5,7 @@ import org.quartz.Scheduler; import org.quartz.SchedulerException; import org.quartz.TriggerKey; import org.quartz.impl.matchers.GroupMatcher; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.core.convert.ConversionService; import org.springframework.core.convert.TypeDescriptor; import org.springframework.stereotype.Service; @@ -18,7 +19,7 @@ public class TriggerService { private Scheduler scheduler; private ConversionService conversionService; - public TriggerService(Scheduler scheduler, ConversionService conversionService) { + public TriggerService(@Qualifier("quartzScheduler") Scheduler scheduler, ConversionService conversionService) { this.scheduler = scheduler; this.conversionService = conversionService; }