En esta versión, se ha migrado y certificado la plataforma para utilizar por defecto la última versión LTS de OpenJDK-17 como JVM para todos los módulos de la plataforma.
Con esto se garantiza el soporte a largo plazo de la JVM mediante Oracle Java SE según el siguiente calendario de releases:
A la vez que permite a los desarrolladores utilizar las ultimas novedades de Java así como cualquier libreria de terceros sin compatibilidad para Java 8.
El proceso de migración a Java 17 para un proyecto como Onesait Platform ha pasado por los siguientes pasos:
A nivel de código fuente, al tratarse de un proyecto Maven con un pom padre que centraliza toda la configuración de la JVM, basta con modificar la versión de Java a utilizar.
<java.version>17</java.version> <maven.compiler.source>17</maven.compiler.source> <maven.compiler.target>17</maven.compiler.target>
Recompilar y pasar todos los test de la plataforma utilizando OpenJDK-17 y resolver cualquier problema. En nuestro caso resolverlos fue bastante sencillo y se resolvió subiendo de versión alguna libreria de terceros y tocando alguna línea de código.
Contenerizar todos los módulos de la plataforma para que utilicen OpenJDK-17-jre en vez de OpenJDK-1.8. En este caso, la plataforma dispone de una imagen base para todos sus módulos, de manera que todos tengan una configuración de sistema operativo y software unificada, siendo la JRE parte de esa configuración. De este modo cambiar de JVM a nivel global se hace desde el Dockerfile de la imagen base, construyendo dicha imagen y actualizandola en el registro.
FROM alpine:3.15 RUN apk --update add openjdk17-jre-headless
Instalar OpenJDK-17 en nuestros sistemas CI/CD (Jenkins) para construir la plataforma.
Hacer un despliegue de la plataforma y ejecutar una bateria completa de pruebas para certificar la plataforma.