This is an automated email from the ASF dual-hosted git repository. danhaywood pushed a commit to branch ISIS-3271 in repository https://gitbox.apache.org/repos/asf/isis.git
commit 24437c33b2840317a05d72f47419c3a54fed099d Author: Dan Haywood <[email protected]> AuthorDate: Fri Nov 4 08:39:44 2022 +0000 ISIS-3271: fixes up commandreplay module, use spring boot quartz starter --- .../core/commandreplay/secondary/pom.xml | 4 ++ .../CausewayModuleExtCommandReplaySecondary.java | 46 ++++++---------------- .../secondary/job/ReplicateAndReplayJob.java | 2 + 3 files changed, 18 insertions(+), 34 deletions(-) diff --git a/incubator/extensions/core/commandreplay/secondary/pom.xml b/incubator/extensions/core/commandreplay/secondary/pom.xml index bbc10d0eaa..63af124faa 100644 --- a/incubator/extensions/core/commandreplay/secondary/pom.xml +++ b/incubator/extensions/core/commandreplay/secondary/pom.xml @@ -86,6 +86,10 @@ <artifactId>jersey-spring5</artifactId> <scope>test</scope> </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-quartz</artifactId> + </dependency> </dependencies> </project> diff --git a/incubator/extensions/core/commandreplay/secondary/src/main/java/org/apache/causeway/extensions/commandreplay/secondary/CausewayModuleExtCommandReplaySecondary.java b/incubator/extensions/core/commandreplay/secondary/src/main/java/org/apache/causeway/extensions/commandreplay/secondary/CausewayModuleExtCommandReplaySecondary.java index 0fd8151033..178158765d 100644 --- a/incubator/extensions/core/commandreplay/secondary/src/main/java/org/apache/causeway/extensions/commandreplay/secondary/CausewayModuleExtCommandReplaySecondary.java +++ b/incubator/extensions/core/commandreplay/secondary/src/main/java/org/apache/causeway/extensions/commandreplay/secondary/CausewayModuleExtCommandReplaySecondary.java @@ -21,6 +21,9 @@ package org.apache.causeway.extensions.commandreplay.secondary; import javax.inject.Inject; +import org.apache.causeway.core.runtime.CausewayModuleCoreRuntime; +import org.apache.causeway.schema.CausewayModuleSchema; +import org.apache.causeway.testing.fixtures.applib.CausewayModuleTestingFixturesApplib; import org.quartz.JobDetail; import org.quartz.Scheduler; import org.quartz.SchedulerException; @@ -59,7 +62,13 @@ import lombok.val; @Configuration @Import({ // @Configuration's - CausewayModuleExtQuartzImpl.class, + CausewayModuleCoreRuntime.class, + CausewayModuleSchema.class, + CausewayModuleTestingFixturesApplib.class, + CausewayModuleExtCommandLogApplib.class, + + // @Component's + ReplicateAndReplayJob.class, // @Service's CommandFetcher.class, @@ -102,7 +111,8 @@ public class CausewayModuleExtCommandReplaySecondary { } @Bean(name = "ReplicateAndReplayTrigger" ) - public SimpleTriggerFactoryBean replicateAndReplayTriggerFactory(@Qualifier("ReplicateAndReplayJob") final JobDetail job) { + public SimpleTriggerFactoryBean replicateAndReplayTriggerFactory( + final @Qualifier("ReplicateAndReplayJob") JobDetail job) { val triggerFactory = new SimpleTriggerFactoryBean(); triggerFactory.setJobDetail(job); val config = causewayConfiguration.getExtensions().getCommandReplay().getQuartzReplicateAndReplayJob(); @@ -112,36 +122,4 @@ public class CausewayModuleExtCommandReplaySecondary { return triggerFactory; } - @Bean(name = "ReplicateAndReplaySbjf") - public SpringBeanJobFactory springBeanJobFactory() { - val jobFactory = new AutowiringSpringBeanJobFactory(); - jobFactory.setApplicationContext(applicationContext); - return jobFactory; - } - - @Bean(name = "ReplicateAndReplaySfb") - public SchedulerFactoryBean scheduler( - @Qualifier("ReplicateAndReplayTrigger") final Trigger trigger, - @Qualifier("ReplicateAndReplayJob") final JobDetail jobDetail, - @Qualifier("ReplicateAndReplaySbjf") final SpringBeanJobFactory sbjf) { - val schedulerFactory = new SchedulerFactoryBean(); - - schedulerFactory.setJobFactory(sbjf); - schedulerFactory.setJobDetails(jobDetail); - schedulerFactory.setTriggers(trigger); - - return schedulerFactory; - } - - @Bean(name = "ReplicateAndReplayScheduler") - public Scheduler scheduler( - @Qualifier("ReplicateAndReplayTrigger") final Trigger trigger, - @Qualifier("ReplicateAndReplayJob") final JobDetail job, - @Qualifier("ReplicateAndReplaySfb") final SchedulerFactoryBean factory) - throws SchedulerException { - val scheduler = factory.getScheduler(); - scheduler.start(); - return scheduler; - } - } diff --git a/incubator/extensions/core/commandreplay/secondary/src/main/java/org/apache/causeway/extensions/commandreplay/secondary/job/ReplicateAndReplayJob.java b/incubator/extensions/core/commandreplay/secondary/src/main/java/org/apache/causeway/extensions/commandreplay/secondary/job/ReplicateAndReplayJob.java index d035029ed8..573610061a 100644 --- a/incubator/extensions/core/commandreplay/secondary/src/main/java/org/apache/causeway/extensions/commandreplay/secondary/job/ReplicateAndReplayJob.java +++ b/incubator/extensions/core/commandreplay/secondary/src/main/java/org/apache/causeway/extensions/commandreplay/secondary/job/ReplicateAndReplayJob.java @@ -31,6 +31,7 @@ import org.apache.causeway.applib.services.user.UserMemento; import org.apache.causeway.extensions.commandreplay.secondary.config.SecondaryConfig; import org.apache.causeway.extensions.commandreplay.secondary.jobcallables.ReplicateAndRunCommands; import org.apache.causeway.extensions.commandreplay.secondary.status.SecondaryStatus; +import org.springframework.stereotype.Component; import lombok.val; import lombok.extern.log4j.Log4j2; @@ -38,6 +39,7 @@ import lombok.extern.log4j.Log4j2; /** * @since 2.0 {@index} */ +@Component @DisallowConcurrentExecution @PersistJobDataAfterExecution @Log4j2
