David Handermann created NIFI-12290: ---------------------------------------
Summary: Move from Quartz to Spring Cron Expression Key: NIFI-12290 URL: https://issues.apache.org/jira/browse/NIFI-12290 Project: Apache NiFi Issue Type: Improvement Components: Core Framework Reporter: David Handermann Assignee: David Handermann Fix For: 2.latest The Quartz library supports [cron|https://en.wikipedia.org/wiki/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|https://spring.io/blog/2020/11/10/new-in-spring-5-3-improved-cron-expressions] that provide standard compatibility with [Cron scheduling expressions|https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/scheduling/support/CronExpression.html]. The Spring CronExpression supports standard {{java.time}} classes. The Spring [CronExpression|https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/scheduling/support/CronExpression.html] 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. -- This message was sent by Atlassian Jira (v8.20.10#820010)