Implementatiefouten oplossen in AEM as a Cloud Service
Dit artikel behandelt implementatiefouten in Adobe Experience Manager (AEM) as a Cloud Service die worden veroorzaakt door aanpassingen in het initialisatiescript van de repository. Wanneer het opstellen van een eigenschapvertakking aan het ontwikkelingsstadium, kunnen deze fouten succesvolle plaatsing verhinderen en zijn niet gemakkelijk zichtbaar in de logboeken. Het probleem is verholpen door het analyseren van logbestanden voor foutopsporing.
Beschrijving description
Omgeving
- Product: Adobe Experience Manager (AEM) as a Cloud Service - Plaatsen
- Stadium: Ontwikkeling
- Beperkingen: De directe wijzigingen via de Console van Felix zijn beperkt.
Probleem/symptomen
-
De implementatie van een functie-tak mislukt als gevolg van initialisatiefouten in de repository.
-
Logs vertoningsberichten zoals:
code language-none Exception in a SlingRepositoryInitializer, SlingRepository service registration aborted javax.jcr.RepositoryException: Applying repoinit operation failed despite retry; set loglevel to DEBUG to see all exceptions. Last exception message from "Configuration PID 310, script[ 0] " was: CreatePath execution failed at cq(sling:Folder): javax.jcr.nodetype.ConstraintViolationException: org.apache.jackrabbit.oak.spi.state.ReadyOnlyBuilderException: This builder is read-only... -
Fouten geven aan dat wordt geprobeerd alleen-lezen knooppunten of onveranderlijke onderdelen van de opslagplaats te wijzigen.
Resolutie resolution
Ga als volgt te werk om het probleem op te lossen:
-
Stel het logniveau in op
DEBUGvoor repo-init-bewerkingen om gedetailleerde uitzonderingsgegevens op te halen tijdens de initialisatie van de opslagplaats. Aangezien directe toegang via de Console van Felix wordt beperkt, gebruik een configuratie van het douaneregistreren binnen uw project. -
Maak een OSGi-configuratiebestand onder de map
/apps/<your-project>/config/van uw project, zoalscom.adobe.granite.logging.impl.LogManagerFactory.config.-
Neem de volgende eigenschappen op in dit bestand:
code language-none loggers=[ "org.apache.sling.jcr.repoinit.impl.RepositoryInitializerFactory"] org.apache.sling.jcr.repoinit.impl.RepositoryInitializerFactory.log.level=DEBUG
-
-
Implementeer de bijgewerkte configuratie via Cloud Manager en controleer of gedetailleerde foutopsporingslogboeken voor repo-init-bewerkingen zichtbaar zijn na de implementatie.
-
De controle zuivert logboeken voor extra context over fouten tijdens bewaarplaatsinitialisering, zoekend aanwijzingen van onbevoegde wijzigingen of pogingen om read-only knopen te veranderen.
-
Zorg ervoor dat uw repo-init-script niet probeert knooppunten te maken of te wijzigen in onveranderlijke delen van de opslagplaats (bijvoorbeeld systeempaden).
-
Verwijder of pas om het even welke
CreatePathbevelen aan gericht knopen die alscq(sling:Folder)worden bepaald als zij in read-only gebieden verblijven. Als nieuwe knooppunten of structuren moeten worden toegevoegd, verpakt u deze wijzigingen afzonderlijk met behulp van inhoudspakketten die zijn geïmplementeerd op toegestane paden.
Als u deze stappen uitvoert, kunt u fouten bij de implementatie opsporen en verhelpen terwijl u de padbeperkingen van het AEM-systeem respecteert.
Gerelateerde lezing
Fouten opsporen in AEM as a Cloud Service-builds en -implementaties