Versions Compared

Key

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

...

  • Quartz configuration API is in org.openhubframework.openhub.core.config.QuartzConfig package
  • jobs and triggers are defined with the following annotations (package org.openhubframework.openhub.api.common.quartz)
    • QuartzJob - defines one quartz Job with simple trigger QuartzSimpleTrigger or cron trigger QuartzCronTrigger
      • defines execute type in the cluster (JobExecuteTypeInCluster):
        • CONCURRENT - job can be executed parralel on nodes
        • NOT_CONCURRENT - job can run only on one node
    • QuartzSimpleTriggerthis type of trigger is used to fire a job repeated at a specified interval
    • QuartzCronTriggerthis type of trigger is used to fire a job at given time, defined by Unix 'cron-like' schedule definitions.

...

  • 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  in our project)
  • scheduler is started by org.openhubframework.openhub.core.common.quartz.scheduler.QuartzSchedulerLifecycle

...