Problema

Al implementar un código en AEM vemos que el paquete de módulo de OSGi se actualiza y causa una interrupción en AEM. En los registros vemos mensajes similares a los de abajo para nuestro paquete personalizado:

19.04.2017 15:09:11.606 *INFO* [OsgiInstallerImpl] org.apache.sling.audit.osgi.installer Updated bundle custom-bundle-name [496] from resource TaskResource(url=jcrinstall:/apps/customapp/install/custom-bundle-name-1.2.0-SNAPSHOT.jar, entity=bundle:custom-bundle-name, state=INSTALL, attributes=[org.apache.sling.installer.api.tasks.ResourceTransformer=:9035:9042:9011:, Bundle-SymbolicName=custom-bundle-name, Bundle-Version=1.2.0.SNAPSHOT], digest=1492632551274)
19.04.2017 15:09:11.607 *INFO* [OsgiInstallerImpl] org.apache.sling.audit.osgi.installer Refreshing 1 bundles: [custom-bundle-name [496]]
19.04.2017 15:09:11.608 *INFO* [OsgiInstallerImpl] org.apache.sling.audit.osgi.installer Waiting up to 90 seconds for bundles refresh
19.04.2017 15:09:11.609 *INFO* [OsgiInstallerImpl] org.apache.sling.audit.osgi.installer Done refreshing 1 bundles
19.04.2017 15:09:11.609 *INFO* [OsgiInstallerImpl] custom-bundle-nameBundleEvent RESOLVED
19.04.2017 15:09:11.609 *INFO* [OsgiInstallerImpl] custom-bundle-name BundleEvent STARTING
19.04.2017 15:09:11.609 *INFO* [OsgiInstallerImpl] custom-bundle-name BundleEvent STARTED
19.04.2017 15:09:11.610 *INFO* [OsgiInstallerImpl] org.apache.sling.audit.osgi.installer Started bundle custom-bundle-name [496]
19.04.2017 15:09:11.627 *INFO* [FelixDispatchQueue] org.apache.felix.framework FrameworkEvent PACKAGES REFRESHED

Entorno

AEM 6.x

Causa

1. Una posible causa es que el paquete no contiene ningún código de exportación o importación. Esta puede ser la causa del problema.
2. El paquete personalizado podría ser la exportación de paquetes java a nivel de sistema que ya se han exportado y utilizado por algunos paquetes AEM, Apache Felix o Sling

Resolución

Paquete OSGi vacío

Si está implementando un paquete vacío, deje de hacerlo. No es válido hacerlo a menos que sea un paquete de fragmentos que contenga recursos.

Exportación a nivel de sistema

Si está exportando alguna biblioteca utilizada por el sistema (AEM, Sling, Apache Felix, Oak, etc.), modifique su paquete personalizado para incrustar la biblioteca utilizando la etiqueta <Embed-Dependency> del complemento maven-bundle. Puede elegir si desea agregar o no la biblioteca a la etiqueta <Export-Package>. Todavía podrá acceder a la biblioteca dentro del código del paquete, pero no se exportará a todos los demás paquetes.

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