Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 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() {}

...