Problème
Lors d’un déploiement de Cloud Manager sur des environnements AEM en tant que Cloud Service, l’étape de déploiement échoue et des erreurs semblables à celles ci-dessous sont observées.
[Queue Processor for Subscriber agent forwardPublisherSubscriber] org.apache.jackrabbit.vault.fs.io.Importer Error while committing changes. Retrying import from checkpoint at /. Retries 4/10 [Queue Processor for Subscriber agent forwardPublisherSubscriber] org.apache.sling.distribution.journal.impl.subscriber.DistributionSubscriber Error processing queue item org.apache.sling.distribution.common.DistributionException: Error processing distribution package dstrpck-1583514457813-c81e7751-2da6-4d00-9814-434187f08d32. Retry attempts 162/infinite. ... Caused by: org.apache.sling.api.resource.PersistenceException: Unable to commit changes to session. ... Caused by: javax.jcr.AccessDeniedException: OakAccess0000: Access denied [EventAdminAsyncThread #7] org.apache.sling.distribution.journal.impl.publisher.DistributionPublisher [null] Error processing distribution package dstrpck-1583514457813-c81e7751-2da6-4d00-9814-434187f08d32. Retry attempts 344/infinite. Message: Error trying to extract package at path /etc/packages/com.myapp/myapp-base.ui.content-5.1.0-SNAPSHOT.zip
Cause
L’utilisateur de l’importateur de distribution Sling a besoin d’autorisations supplémentaires pour les chemins de contenu définis dans le package ui.content. Cela signifie généralement que nous devons ajouter des autorisations pour /conf et /var.
Solution
La solution consiste à ajouter un script de configuration OSGi RepositoryInitializer à votre package de déploiement d’applications afin d’ajouter des listes de contrôle d’accès pour l’utilisateur de l’importateur de distribution Sling.
Dans l’exemple d’erreur ci-dessus, le package myapp-base.ui.content-*.zip inclut du contenu sous /conf et /var/workflow. Pour que le déploiement n’échoue pas, nous devons ajouter des autorisations pour l’importateur de distribution Sling sous ces chemins.
Voici un exemple [1] d’une configuration OSGi de ce type qui ajoute des autorisations supplémentaires pour l’utilisateur de l’importateur de distribution Sling. Cette configuration ajoute des autorisations sous /var. Ce fichier xml ci-dessous [1] doit être ajouté au package de l’application sous /apps/myapp/config (où myapp est le dossier dans lequel le code de l’application est stocké).
[1] org.apache.sling.jcr.repoinit.RepositoryInitializer-DistributionService.config
Adobe
Recevez de l’aide plus rapidement et plus facilement
Nouvel utilisateur ?