Resolver errores de implementación de AEM Cloud Manager causados por errores de componentes OSGi personalizados
En este artículo se describe cómo solucionar y resolver los errores de la canalización de implementación en Adobe Experience Manager (AEM) Cloud Manager cuando los componentes OSGi personalizados no se pueden crear instancias, lo que da como resultado entornos inestables y mensajes de registro no claros.
Descripción description
Entorno
Adobe Experience Manager (AEM) as a Cloud Service, implementado mediante canalizaciones de Cloud Manager
Síntomas
-
Las canalizaciones de implementación fallan y las nuevas implementaciones no alcanzan un estado estable.
-
Las instancias de aplicación se reinician con frecuencia y no están listas.
-
Las comprobaciones de estado fallan, incluida la comprobación de rutas requeridas (por ejemplo:
/libs/granite/security/currentuser.jsondevuelve HTTP 503) y la comprobación de Componentes requeridos (personalizados) informa de componentes no satisfechos. -
Los registros muestran que los componentes personalizados de OSGi no se pueden crear instancias, con errores como:
- javax.jcr.nodetype.NoSuchNodeTypeException: El cliente de tipo de nodo no existe
- No se encontró el constructor con 0 argumentos para los componentes de inicialización de repositorio o autenticación personalizada
Causa
Los componentes OSGi personalizados no se pueden crear instancias debido a descriptores de componentes no coincidentes, tipos de nodos JCR faltantes o configuraciones de fábrica incorrectas. Esto provoca errores en los servicios básicos e impide una implementación correcta.
Resolución resolution
Siga los pasos a continuación para resolver el problema:
-
Revise el código para los componentes personalizados de OSGi, como los inicializadores de repositorio y los paquetes de autenticación.
-
Asegúrese de que todos los tipos de nodos JCR a los que se hace referencia (por ejemplo: client) existan antes de que se ejecute cualquier lógica de creación de carpetas en el código personalizado.
-
Compruebe los descriptores de componentes OSGi para comprobar que coinciden con las firmas del constructor en las clases compiladas.
-
Confirme que las configuraciones de fábrica de los componentes de autenticación personalizados (como
ProviderConfigImpl,ProviderConfigServiceManagerImpl,OAuthManagerImpl) son correctas y que no se han introducido ni modificado recientemente en la implementación más reciente. -
Valide la configuración de la comprobación de estado:
-
Busque la configuración OSGi para la comprobación de estado de Componentes requeridos (personalizados) (normalmente una configuración de fábrica para
org.apache.felix.hc.generalchecks.ComponentsCheck, etiquetada como personalizada). -
Confirme que la lista de componentes necesarios incluye los componentes personalizados afectados.
-
Usar la IU táctil de AEM (Herramientas
>Operaciones>comprobación de estado) para revisar el estado actual y los mensajes de la comprobación de estado personalizada.
-
-
Después de corregir los problemas identificados, vuelva a implementar los paquetes afectados y verifique que el entorno alcance un estado listo estable y que se aprueben todas las comprobaciones de estado.