...
- we use directly Quartz job scheduler, not Camel-quartz component
- implementation classes are in org.openhubframework.openhub.core.common.quartz package
- basic implementation is in the class org.openhubframework.openhub.core.common.quartz.scheduler.DefaultScheduler that creates all defined scheduled jobs
- information about concurrent jobs (=CONCURRENT) are stored in memory
- information about not concurrent jobs (=NOT_CONCURRENT) are stored in database - quartz uses default database schema for storing scheduled jobs (for H2 DB defined in db/db/migration/h2/V1_0_2__schema_quartz.sql in our project)
- scheduler is started by org.openhubframework.openhub.core.common.quartz.scheduler.QuartzSchedulerLifecycle
Warning |
---|
If you use different database than H2 DB then you must create database structure manually from GitHub scripts for concurrent scheduled jobs. |
Configuration examples
Code Block |
---|
@OpenHubQuartzJob(name = "AsyncPostponedJob", executeTypeInCluster = JobExecuteTypeInCluster.NOT_CONCURRENT, simpleTriggers = @QuartzSimpleTrigger(repeatIntervalMillis = 30000)) public void invokePostponedJob() {} |
...