Problème

Lors du déploiement du code sur AEM, nous constatons que le lot de structure OSGi est actualisé et cause une défaillance dans l'AEM. Dans les journaux, nous voyons des messages similaires à ceux ci-dessous relatifs à notre lot personnalisé :

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

Environnement

AEM 6.x

Cause

1. Cela peut provenir du fait que le lot ne comporte aucune exportation, importation ou aucun code. C'est une cause connue du problème.
2. Le lot personnalisé pourrait exporter des packages Java au niveau système qui sont déjà exportés et utilisés par certains AEM de base, Apache Felix ou Sling.

Résolution

Un lot OSGi vide

Si vous déployez un lot vide, arrêtez l’opération. Elle n’est pas valide pour cette opération sauf s’il s’agit d’un lot de fragments contenant des ressources.

Exportation au niveau du système

Si vous exportez une bibliothèque utilisée par le système (AEM, Sling, Apache Felix, Oak, etc.), modifiez le lot personnalisé pour intégrer la bibliothèque à l'aide de la balise du module externe Maven <Embed-Dependency>. Vous pouvez choisir d'ajouter la bibliothèque à la balise <Export-Package>. Vous pouvez toujours accéder à la bibliothèque au sein du code du lot, mais elle n'est pas exportée dans les autres lots.

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne