QuartzDesk 无法在 Spring Boot 2 应用程序中管理 Quartz 作业和触发器

QuartzDesk cannot manage the Quartz Jobs and Trigger in a Spring Boot 2 application

我们让 Spring Boot 2 应用程序中的 Quartz Jobs 由 QuartzDesk 管理:

https://www.quartzdesk.com/documentation/how-it-works

QuartzDesk 由三部分组成:Web UI(它的主要目的)它自己运行 Tomcat 并且您可以从中通过 RMI 或从远程管理 Quartz Jobs 和 Quartz Trigger JMXMP。然后是 QuartzDesk AgentSpring Boot 2 应用程序必须通过设置 java agent (java -javaagent:agent.jar ...) 启动时。最后但同样重要的是 Spring Boot 2 应用程序必须通过声明使用 QuartzDesk Public API pom.xml.

中的进一步依赖

对于一般的 Quartz,我们有一个中央 JDBC Jobstore,其中保存了所有 Quartz 的东西。 Spring Boot 2 应用程序在负载平衡的两个实例上运行。

我们的问题是 QuartzDesk Web UI 无法管理 Quartz Jobs 和 Trigger。当您在 QuartzDesk Web UI 中设置与每个实例的连接时,所有 Quartz Jobs 和 Trigger 都会在那里高级创建。然而最糟糕的是,即使 QuartzDesk Web UI 错误地确认了这一点,此中央管理控制台的任何更改都没有效果。

问题是 Quartz JDBC Jobstore 的 属性 配置错误,即它的数据源:

quartz.datasource.auto-commit=false

将其更改为 true 解决了问题,Quartz 作业和触发器终于可以配置了。