Uploaded image for project: 'Apache NiFi'
  1. Apache NiFi
  2. NIFI-12290

Move from Quartz to Spring Cron Expression

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 2.0.0-M1
    • Core Framework
    • None

    Description

      The Quartz library supports cron expression parsing to enable framework component scheduling using the Cron strategy.

      The Quartz library includes several legacy dependencies on HikariCP and C3P0 which are not necessary for framework operations. The Quartz library also relies on java.util.Date for calculation, as opposed to java.time components.

      Spring Framework 5.3 introduced new Cron Expression capabilities that provide standard compatibility with Cron scheduling expressions. The Spring CronExpression supports standard java.time classes.

      The Spring CronExpression has two differences from the Quartz implementation:

      1. The Year field is not supported
      2. The numeric day of the week representation begins with 0 instead of 1

      These differences follow the capabilities of the standard Unix crontab, and are not commonly used. However, these differences could invalidate custom scheduling configurations that used numeric day of the week or year values.

      Based on existing NiFI framework use of Spring, Quartz should be replaced with Spring Cron Expression parsing.

      Attachments

        Issue Links

          Activity

            People

              exceptionfactory David Handermann
              exceptionfactory David Handermann
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 1.5h
                  1.5h