DR-000034 - Java 17 Support

Submitted Date

 

Approved Date

 

StatusACCEPTED
ImpactHIGH

 

Overrides/Supersedes 

DR-000022 - Upgrade to JDK 11

RFC 

N/a

Stakeholders

Julian Ladisch 

Contributors

Jeremy Huff 

Julian Ladisch 

Approvers


Background/Context

The following is a link to a proposed RFC raised by Julian Ladisch on the same topic. We have opted to pursue this facilitating this change through the ADR processes directly: https://github.com/folio-org/rfcs/pull/9. Because language from his RFC proposal is used in this ADR, Julian Ladisch is listed as a contributor to this ADR.


Assumptions

This ADR assumes that a move to Java 17 is both necessary and inevitable for the FOLIO project

Constraints

This ADR is a substantial change to the FOLIO platform because dropping Java 11 would constitute

  • The removal of a feature that is already part of a FOLIO release,
  • A change that requires the coordination between multiple FOLIO components or services,
  • The introduction of new language features that might be considered redundant to the existing language feature of Java 11

Rationale

The support for Java 11 is ending in September of this year (2023). To ensure that FOLIO's modules are implemented in a language that is actively supported it is necessary to move our implementations to Java 17.

Decision

For the Poppy release (Fall/Q4 2023) all java-based FOLIO modules must be implemented using Java 17, and the use of Java 11 for FOLIO modules is no longer acceptable.

Implications

  • Pros
    • This change would ensure that FOLIO modules are implemented in a language that is actively supported
    • Our implementation would have the advantage of any security-related patches associated with Java 17
  • Cons
    • For some modules, the change from Java 11 to Java 17 may constitute a significant amount of development effort

Other Related Resources

N/a