Skip to main content

ADR 006 : Migration vers Java 21

Statut

info

Accepté

Contexte

L'application actuelle fonctionne sur une version plus ancienne de Java. La mise à jour vers Java 21 est envisagée pour tirer parti des nouvelles fonctionnalités et améliorations de performance.

Décision

Nous avons décidé de migrer vers Java 21 pour toutes les nouvelles fonctionnalités et améliorations.

  • Nouveautés : Java 21 introduit de nouvelles fonctionnalités importantes, comme les records, les classes scellées, et les améliorations des API de concurrence.
  • Support à long terme (LTS) : Java 21 est une version LTS, offrant un support de longue durée, ce qui assure la stabilité de la plateforme.
  • Compatibilité : Java 21 est compatible avec les autres technologies adoptées (Quarkus, Vert.x, etc.).

Conséquences

  • ✅ Avantages :

    • Améliorations de performances et nouvelles fonctionnalités.
    • Sécurité et stabilité accrues grâce au support LTS.
    • Accès aux API modernes pour simplifier le développement.
  • 🚫 Inconvénients :

    • Nécessité de tester et adapter le code existant pour s'assurer de la compatibilité.
    • Formation de l'équipe sur les nouvelles fonctionnalités de Java 21.
    • La gestion du classpath dynamique n'est plus aussi simple comme sur Open ENT NG avec le chargement des modules à la volée

💡 Alternatives Considérées

  • Rester sur Java 8 : Réduction des risques, mais ne pas bénéficier des améliorations apportées par Java 21.