Este artículo se refiere al trabajo con JavaMail (clases en el paquete javax.mail) y Java Activation (clases en el paquete javax.activation) cuando se ejecuta dentro de Weblogic.

Cuando AEM se ejecuta dentro de Weblogic, la funcionalidad de JavaMail es proporcionada por el servidor de aplicaciones. Dependiendo de la versión de JRE, la Activación de Java es proporcionada por JRE o por Weblogic.

Para poder utilizar JavaMail y JavaActivation en este caso, es necesario desinstalar los paquetes correspondientes:

  • API de JavaMail (javax.mail)
  • Paquete Apache Sling javax.activation (org.apache.sling.javax.activation)

Entonces, los paquetes asociados los debe proporcionar el paquete del sistema. Esto se puede hacer instalando un fragmento de extensión de paquete de sistema para estos paquetes, vea este artículo sobre cómo hacer una extensión de paquete de sistema para hacer esto. Debe asegurarse de que las versiones exportadas de los paquetes tal y como se declaran en el fragmento coinciden con las versiones proporcionadas por el servidor de aplicación/JRE.

Un enfoque alternativo a la extensión del paquete del sistema, es añadir una propiedad framework que declara que estos paquetes los proporciona el paquete del sistema (ya que los hereda de su classloader principal). Esto se hace modificando el archivo sling.properties para que contenga la siguiente línea (esta línea muestra sólo la Activación de Java):

  org.osgi.framework.system.packages.extra=javax.activation; version\=1.1

Una vez más, es importante asegurarse de que se utiliza la versión correcta para la exportación. La versión de Activación de Java incluida en el JRE es 1.1. Puede encontrar información sobre la versión de JavaMail proporcionada por JavaEE en la página: http://www.osgi.org/Specifications/ReferenceContract.

Esta obra está autorizada con arreglo a la licencia de Reconocimiento-NoComercial-CompartirIgual 3.0 Unported de Creative Commons.  Los términos de Creative Commons no cubren las publicaciones en Twitter™ y Facebook.

Avisos legales   |   Política de privacidad en línea