Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

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.

  • No labels