Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
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
- links to