From e56ac71d608e9e61427cba92e9bc908a6332651d Mon Sep 17 00:00:00 2001 From: "fabio.formosa" Date: Mon, 7 Dec 2020 19:26:28 +0100 Subject: [PATCH] #27 fixed quartz-manager-api inclusion --- .../configuration/SchedulerConfig.java | 120 +++++++++--------- .../configuration/WebsocketConfig.java | 22 ++-- 2 files changed, 73 insertions(+), 69 deletions(-) diff --git a/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/configuration/SchedulerConfig.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/configuration/SchedulerConfig.java index 78308ff..cf906d5 100644 --- a/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/configuration/SchedulerConfig.java +++ b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/configuration/SchedulerConfig.java @@ -14,6 +14,7 @@ import org.springframework.beans.factory.config.PropertiesFactoryBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.core.io.ClassPathResource; import org.springframework.scheduling.quartz.JobDetailFactoryBean; @@ -24,75 +25,76 @@ import it.fabioformosa.quartzmanager.scheduler.AutowiringSpringBeanJobFactory; import it.fabioformosa.quartzmanager.scheduler.TriggerMonitor; import it.fabioformosa.quartzmanager.scheduler.TriggerMonitorImpl; +@ComponentScan(basePackages = {"it.fabioformosa.quartzmanager.controllers"}) @Configuration @ConditionalOnProperty(name = "quartz.enabled") public class SchedulerConfig { - private static JobDetailFactoryBean createJobDetail(Class jobClass) { - JobDetailFactoryBean factoryBean = new JobDetailFactoryBean(); - factoryBean.setJobClass(jobClass); - factoryBean.setDurability(false); - return factoryBean; - } + private static JobDetailFactoryBean createJobDetail(Class jobClass) { + JobDetailFactoryBean factoryBean = new JobDetailFactoryBean(); + factoryBean.setJobClass(jobClass); + factoryBean.setDurability(false); + return factoryBean; + } - private static SimpleTriggerFactoryBean createTrigger(JobDetail jobDetail, long pollFrequencyMs, - int repeatCount) { - SimpleTriggerFactoryBean factoryBean = new SimpleTriggerFactoryBean(); - factoryBean.setJobDetail(jobDetail); - factoryBean.setStartDelay(3000L); - factoryBean.setRepeatInterval(pollFrequencyMs); - factoryBean.setRepeatCount(repeatCount); - factoryBean - .setMisfireInstruction(SimpleTrigger.MISFIRE_INSTRUCTION_RESCHEDULE_NEXT_WITH_EXISTING_COUNT);// in case of misfire, ignore all missed triggers and continue - return factoryBean; - } + private static SimpleTriggerFactoryBean createTrigger(JobDetail jobDetail, long pollFrequencyMs, + int repeatCount) { + SimpleTriggerFactoryBean factoryBean = new SimpleTriggerFactoryBean(); + factoryBean.setJobDetail(jobDetail); + factoryBean.setStartDelay(3000L); + factoryBean.setRepeatInterval(pollFrequencyMs); + factoryBean.setRepeatCount(repeatCount); + factoryBean + .setMisfireInstruction(SimpleTrigger.MISFIRE_INSTRUCTION_RESCHEDULE_NEXT_WITH_EXISTING_COUNT);// in case of misfire, ignore all missed triggers and continue + return factoryBean; + } - @Value("${quartz-manager.jobClass}") - private String jobClassname; + @Value("${quartz-manager.jobClass}") + private String jobClassname; - @Bean(name = "triggerMonitor") - public TriggerMonitor createTriggerMonitor(@Qualifier("jobTrigger") Trigger trigger) { - TriggerMonitor triggerMonitor = new TriggerMonitorImpl(); - triggerMonitor.setTrigger(trigger); - return triggerMonitor; - } + @Bean(name = "triggerMonitor") + public TriggerMonitor createTriggerMonitor(@Qualifier("jobTrigger") Trigger trigger) { + TriggerMonitor triggerMonitor = new TriggerMonitorImpl(); + triggerMonitor.setTrigger(trigger); + return triggerMonitor; + } - @Bean - @SuppressWarnings("unchecked") - public JobDetailFactoryBean jobDetail() throws ClassNotFoundException { - Class JobClass = (Class) Class.forName(jobClassname); - return createJobDetail(JobClass); - } + @Bean + @SuppressWarnings("unchecked") + public JobDetailFactoryBean jobDetail() throws ClassNotFoundException { + Class JobClass = (Class) Class.forName(jobClassname); + return createJobDetail(JobClass); + } - @Bean - public JobFactory jobFactory(ApplicationContext applicationContext) { - AutowiringSpringBeanJobFactory jobFactory = new AutowiringSpringBeanJobFactory(); - jobFactory.setApplicationContext(applicationContext); - return jobFactory; - } + @Bean + public JobFactory jobFactory(ApplicationContext applicationContext) { + AutowiringSpringBeanJobFactory jobFactory = new AutowiringSpringBeanJobFactory(); + jobFactory.setApplicationContext(applicationContext); + return jobFactory; + } - @Bean - public Properties quartzProperties() throws IOException { - PropertiesFactoryBean propertiesFactoryBean = new PropertiesFactoryBean(); - propertiesFactoryBean.setLocation(new ClassPathResource("/quartz.properties")); - propertiesFactoryBean.afterPropertiesSet(); - return propertiesFactoryBean.getObject(); - } + @Bean + public Properties quartzProperties() throws IOException { + PropertiesFactoryBean propertiesFactoryBean = new PropertiesFactoryBean(); + propertiesFactoryBean.setLocation(new ClassPathResource("/quartz.properties")); + propertiesFactoryBean.afterPropertiesSet(); + return propertiesFactoryBean.getObject(); + } - @Bean(name = "jobTrigger") - public SimpleTriggerFactoryBean sampleJobTrigger(@Qualifier("jobDetail") JobDetail jobDetail, - @Value("${job.frequency}") long frequency, @Value("${job.repeatCount}") int repeatCount) { - return createTrigger(jobDetail, frequency, repeatCount); - } + @Bean(name = "jobTrigger") + public SimpleTriggerFactoryBean sampleJobTrigger(@Qualifier("jobDetail") JobDetail jobDetail, + @Value("${job.frequency}") long frequency, @Value("${job.repeatCount}") int repeatCount) { + return createTrigger(jobDetail, frequency, repeatCount); + } - @Bean(name = "scheduler") - public SchedulerFactoryBean schedulerFactoryBean(JobFactory jobFactory, - @Qualifier("jobTrigger") Trigger sampleJobTrigger) throws IOException { - SchedulerFactoryBean factory = new SchedulerFactoryBean(); - factory.setJobFactory(jobFactory); - factory.setQuartzProperties(quartzProperties()); - factory.setTriggers(sampleJobTrigger); - factory.setAutoStartup(false); - return factory; - } + @Bean(name = "scheduler") + public SchedulerFactoryBean schedulerFactoryBean(JobFactory jobFactory, + @Qualifier("jobTrigger") Trigger sampleJobTrigger) throws IOException { + SchedulerFactoryBean factory = new SchedulerFactoryBean(); + factory.setJobFactory(jobFactory); + factory.setQuartzProperties(quartzProperties()); + factory.setTriggers(sampleJobTrigger); + factory.setAutoStartup(false); + return factory; + } } \ No newline at end of file diff --git a/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/configuration/WebsocketConfig.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/configuration/WebsocketConfig.java index 22fb094..89aca46 100644 --- a/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/configuration/WebsocketConfig.java +++ b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/configuration/WebsocketConfig.java @@ -1,5 +1,6 @@ package it.fabioformosa.quartzmanager.configuration; +import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.messaging.simp.config.MessageBrokerRegistry; import org.springframework.web.socket.config.annotation.AbstractWebSocketMessageBrokerConfigurer; @@ -7,19 +8,20 @@ import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBr import org.springframework.web.socket.config.annotation.StompEndpointRegistry; @Configuration +@ComponentScan(basePackages = {"it.fabioformosa.quartzmanager.aspects"}) @EnableWebSocketMessageBroker public class WebsocketConfig extends AbstractWebSocketMessageBrokerConfigurer { - @Override - public void configureMessageBroker(MessageBrokerRegistry config) { - config.enableSimpleBroker("/topic"); - config.setApplicationDestinationPrefixes("/job"); - } + @Override + public void configureMessageBroker(MessageBrokerRegistry config) { + config.enableSimpleBroker("/topic"); + config.setApplicationDestinationPrefixes("/job"); + } - @Override - public void registerStompEndpoints(StompEndpointRegistry registry) { - registry.addEndpoint("/logs").setAllowedOrigins("/**").withSockJS(); - registry.addEndpoint("/progress").setAllowedOrigins("/**").withSockJS(); - } + @Override + public void registerStompEndpoints(StompEndpointRegistry registry) { + registry.addEndpoint("/logs").setAllowedOrigins("/**").withSockJS(); + registry.addEndpoint("/progress").setAllowedOrigins("/**").withSockJS(); + } }