Resolución de errores de implementación en AEM as a Cloud Service
Este artículo aborda los errores de implementación en Adobe Experience Manager (AEM) as a Cloud Service causados por las personalizaciones en el script de inicialización del repositorio. Al implementar una rama de características en la fase de desarrollo, estos errores pueden dificultar la implementación correcta y no son fácilmente visibles en los registros. El problema se corrige al analizar los registros de depuración.
Descripción description
Entorno
- Producto: Adobe Experience Manager (AEM) as a Cloud Service - Sitios
- Fase: desarrollo
- Restricciones: Las modificaciones directas a través de la Consola Felix están restringidas.
Problema/Síntomas
-
La implementación de una rama de funciones falla debido a errores de inicialización del repositorio.
-
Los registros muestran mensajes como:
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... -
Los errores indican intentos de modificar nodos de solo lectura o partes inmutables del repositorio.
Resolución resolution
Para resolver el problema, siga estos pasos:
-
Establezca el nivel de registro en
DEBUGpara las operaciones de repo-init a fin de obtener información detallada sobre las excepciones durante la inicialización del repositorio. Dado que el acceso directo a través de la consola Felix está restringido, utilice una configuración de registro personalizada dentro del proyecto. -
Cree un archivo de configuración OSGi en la carpeta
/apps/<your-project>/config/de su proyecto, comocom.adobe.granite.logging.impl.LogManagerFactory.config.-
Incluya las siguientes propiedades en este archivo:
code language-none loggers=[ "org.apache.sling.jcr.repoinit.impl.RepositoryInitializerFactory"] org.apache.sling.jcr.repoinit.impl.RepositoryInitializerFactory.log.level=DEBUG
-
-
Implemente la configuración actualizada a través de Cloud Manager y compruebe que los registros de depuración detallados para operaciones de repo-init sean visibles después de la implementación.
-
Revise los registros de depuración para obtener contexto adicional sobre los errores durante la inicialización del repositorio, buscando indicaciones de modificaciones no autorizadas o intentos de alterar nodos de solo lectura.
-
Asegúrese de que el script de repo-init no intente crear ni modificar nodos dentro de partes inmutables del repositorio (por ejemplo, rutas del sistema).
-
Quite o ajuste los comandos de
CreatePathdirigidos a nodos definidos comocq(sling:Folder)si residen en áreas de solo lectura. Si se deben agregar nuevos nodos o estructuras, empaquete estos cambios por separado utilizando paquetes de contenido implementados en rutas permitidas.
Los siguientes pasos le ayudarán a identificar y corregir los errores de implementación al tiempo que respetan las restricciones de ruta del sistema de AEM.
Lectura relacionada
Depuración de AEM as a Cloud Service e implementaciones