Axon 框架:如何配置 QuartzEventScheduler?

Axon Framework: How to configure the QuartzEventScheduler?

我正在尝试使用 Axon 框架中的 EventScheduler。我需要持久化计划任务,因为它们是通过系统中的事件安排的,并且当 JVM 关闭或重新启动时丢失它们不是一个选项。

这让我想到了 QuartzEventScheduler。我四处寻找有关如何在 Spring Boot 2.2.2 中配置它的文档,但找不到任何东西。然后我试图找到关于如何在 Spring Boot 中配置 Quartz 调度程序的文档,希望它允许我使用 QuartzEventScheduler 中的配置。

我遇到的问题是 QuartzScheduler 上的文档和示例都引用了 Job 实现。在尝试配置 Axon Framework QuartzEventScheduler 时,我应该参考什么作业实现?

任何有关如何执行此操作的文档将不胜感激。

提前致谢。

看起来就像添加一样简单:

@Configuration 
public class SchedulerConfig {
    @Bean
    public QuartzEventSchedulerFactoryBean quartzEventSchedulerFactoryBean() {
        return new QuartzEventSchedulerFactoryBean();
    }
}

代码库和:

spring:
quartz:
job-store-type: jdbc
jdbc:
  initialize-schema: always // comment this out after creation otherwise all existing tasks get removed

到application.yml

如果您使用 Postgres 作为存储引擎并且 Spring 引导添加:

spring.quartz.properties.org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.PostgreSQLDelegate

到 application.properties 文件

将此张贴在这里,供与我一样挣扎的其他人使用。