EngineNuevas características

Java 17 (OpenJDK 17) como JVM por defecto

Seguimos con novedades de la versión 5.0.0-Renegade, y hoy queremos hacer hincapié en que hemos migrado y certificado Onesait Platform para utilizar por defecto la última versión LTS de Java, la 17, como JVM para todos los módulos de la Plataforma.

Con esto se garantiza -si algún proyecto llegase a necesitarlo- el soporte a largo plazo de la JVM mediante Oracle Java SE según el siguiente calendario de lanzamientos:

Esto va a permitir a los desarrolladores utilizar las ultimas novedades de Java, así como cualquier librería de terceros sin compatibilidad para Java 8.

¿Cuál ha sido el proceso de migración?

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, ha bastado 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>

Recompilado y tests

Hemos recompilado y pasado todos los test de la Plataforma utilizando OpenJDK-17, resolviendo cualquier problema. En nuestro caso, dicha resolución fue bastante sencilla y se resolvió subiendo de versión alguna librería de terceros y tocando alguna línea de código.

Contenerización

Hemos llevado a cabo una contenerización de 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 actualizándola en el registro.

FROM alpine:3.15

RUN apk --update add openjdk17-jre-headless

Otras tareas

  • Hemos instalado OpenJDK-17 en nuestros sistemas CI/CD (Jenkins) para construir la Plataforma.
  • Hemos realizado un despliegue de la Plataforma y ejecutado una batería completa de pruebas para certificar la Plataforma.

Imagen de cabecera: Johny vino en Unsplash

✍🏻 Author(s)

Deja una respuesta