The World’s Largest Online Community for Developers
We let the Quartz Jobs in our Spring Boot 2 application be managed by QuartzDesk:
QuartzDesk consists of three parts: the Web UI (its main purpose) which runs on its own Tomcat and from which you can manage the Quartz Jobs and Quartz Trigger from remote by RMI or JMXMP. Then there is the QuartzDesk Agent which the Spring Boot 2 application must adopt by setting a java agent (
java -javaagent:agent.jar ...) when it starts. Last but not least the Spring Boot 2 application must use the QuartzDesk Public API just by declaring a further dependency in the pom.xml.
For Quartz in general we hava a central JDBC Jobstore in which the all the Quartz stuff is saved. The Spring Boot 2 application runs on two instances which are load balanced.
Our problem is that the Quartz Jobs and Trigger cannot be managed by the QuartzDesk Web UI. When you set up in QuartzDesk Web UI the connection to each instance then all Quartz Jobs and Trigger are there in advanced created. The worst thing however is that any changes from this central management console have no effect even though QuartzDesk Web UI confirms it mistakenly.
The problem was a wrongly configured property for the Quartz JDBC Jobstore, i.e. its datasource:
Changing it to true solved the problem and Quartz jobs and trigger were finally configurable.