Preguntas sobre Java 11

Blackboard Learn ahora usa Java 11.

Blackboard Learn SaaS 3800.0.0 y las versiones posteriores se ejecutan en la versión 11 de la plataforma de Java SE de Oracle (lanzada en septiembre de 2018). Este cambio solamente se produce en el servidor y no está relacionado con ningún Java que sus usuarios o usted puedan utilizar en dispositivos o navegadores. Blackboard utiliza la distribución de Java 11 lista para la producción de Amazon Corretto, que nos brinda los beneficios de una versión de Java gratuita y totalmente compatible. Con el fin de ofrecer la solución más segura y de mayor calidad, Blackboard Learn siempre aprovechará la última tecnología Java con compatibilidad a largo plazo.

Este tema responde una cantidad de preguntas comunes que lo ayudan a su institución y a usted a comprender qué significa Java 8 para su entorno de Blackboard Learn.

¿Puedo utilizar el JDK de Java 11 con versiones anteriores de Learn?

No. El JDK de Java 11 solo debe utilizarse con las versiones más recientes de Blackboard Learn.

¿Cómo repercute Java 11 en mi entorno de Blackboard Learn?

El impacto principal se encuentra en los building blocks de otros fabricantes. La mayoría de los building blocks seguirán funcionando sin cambios, pero algunos pueden requerir pequeñas actualizaciones o cambios más significativos según cómo se hayan creado. Para los administradores de sistemas, el impacto es similar a las versiones anteriores de Blackboard Learn que cambiaron las versiones de Java (por ejemplo, de Java 7 a Java 8 como parte del segundo trimestre de 2016).

Para las implementaciones de SaaS Plus/Advantage en las que se han instalado Building Blocks adicionales, también recomendamos probar estos Building Blocks en instancias de prueba antes de su lanzamiento para la producción.

¿Qué necesitan hacer los administradores del sistema para prepararse para este cambio?

Si utiliza building blocks que no forman parte del producto principal de Blackboard Learn, debe planificar probarlos en un entorno de pruebas que ejecute una versión de Blackboard Learn que utilice Java 11. Informe cualquier problema que encuentre en el proveedor de soluciones del building block.

Esta prueba se recomienda para cualquier actualización, pero le aconsejamos encarecidamente que la realice en esta actualización, ya que el cambio es más significativo.

Las integraciones que implican la invocación de la línea de comandos pueden verse afectadas. Los escenarios que invoquen a Java desde una secuencia de línea de comandos deben incluir el argumento "--add-modules=ALL-SYSTEM" para evitar posibles errores relacionados con el módulo.

Según el uso y la carga del cliente, puede haber riesgo de errores Stack Overflow debido al mayor tamaño de la pila de llamadas para resolver archivos de clase en Java 11. Podemos controlar la configuración del tamaño de la pila en Tomcat con el ajuste bb-config.properties, "bbconfig.max.stacksize.tomcat". La recomendación anterior para el tamaño de pila era de 400 000, y el mínimo recomendado actualmente para Java 11 es de 1 millón.

En general, notamos un ligero aumento en el uso de la memoria con Blackboard Learn ejecutado en Java 11.

¿Qué deben hacer los desarrolladores?

Normalmente, la mayoría de los códigos de Java 8 son compatibles con Java 11 y funcionarán. Sin embargo, algunos building blocks pueden requerir actualizaciones. Los casos probables incluyen los siguientes:

  • Un building block que hace referencia a bibliotecas o archivos .jar de terceros que forman parte de la distribución de Blackboard Learn, o que depende de ellos.
    • En este caso, los desarrolladores del building block deberían agrupar sus propias copias de bibliotecas o archivos .jar de terceros necesarias para que se ejecute la funcionalidad del building block.
  • Un building block que se basa en el marco de Spring debería actualizarse para utilizar Spring 5.1.X o las versiones posteriores de forma de que sea compatible con Java 11.

En cualquier caso, se recomienda volver a compilar el building block con Java 11 y los archivos públicos .jar de Blackboard más recientes.

Como desarrollador, ¿puedo hacer uso de las funciones de Java 11?

Sí, los desarrolladores ahora pueden utilizar cualquiera de las capacidades específicas de cada lenguaje incluidas en Java 9 a 11. Sin embargo, implementar estas funciones significa que el building block no será compatible con las versiones de Java 8 de Blackboard Learn. Si el building block es específico de su entorno, no es un motivo de preocupación. Implemente las funciones específicas de Java 11 después de actualizar Learn.

Es posible que con las soluciones previstas para múltiples versiones de Blackboard Learn se tengan que crear dos building blocks separados o un único building block compilado utilizando las bibliotecas adecuadas de las versiones de destino, y las versiones de origen y destino del compilador para cumplir con los requisitos de compatibilidad de Java 8 y también de Java 11.

¿Cómo puedo obtener más información sobre los building blocks?

Únase a la Comunidad de desarrolladores de Blackboard Learn.