Beheben von AEM Cloud Manager-Bereitstellungsfehlern, die durch benutzerdefinierte OSGi-Komponentenfehler verursacht wurden

In diesem Artikel wird beschrieben, wie Sie Fehler bei der Bereitstellungs-Pipeline in Adobe Experience Manager (AEM) Cloud Manager beheben können, wenn benutzerdefinierte OSGi-Komponenten nicht instanziiert werden können, was zu instabilen Umgebungen und unklaren Protokollmeldungen führt.

Beschreibung description

Umgebung

Adobe Experience Manager (AEM) as a Cloud Service, bereitgestellt über Cloud Manager-Pipelines

Symptome

  • Bereitstellungs-Pipelines schlagen fehl und neue Bereitstellungen erreichen keinen stabilen Status.

  • Anwendungsinstanzen werden häufig neu gestartet und sind nicht bereit.

  • Konsistenzprüfungen schlagen fehl, einschließlich der Prüfung erforderlicher Pfade (z. B.: /libs/granite/security/currentuser.json gibt HTTP 503 zurück) und Prüfung erforderlicher Komponenten (benutzerdefiniert) meldet nicht erfüllte Komponenten.

  • In Protokollen werden benutzerdefinierte OSGi-Komponenten angezeigt, die nicht instanziiert werden konnten, mit Fehlern wie:

    • javax.jcr.nodetype.NoSuchNodeTypeException: Knotentyp Client existiert nicht
    • Konstruktor mit 0 Argumenten nicht gefunden für benutzerdefinierte Authentifizierungs- oder Repository-Initialisierungskomponenten

Ursache

Benutzerdefinierte OSGi-Komponenten können aufgrund von nicht übereinstimmenden Komponentendeskriptoren, fehlenden JCR-Knotentypen oder falschen Werkskonfigurationen nicht instanziiert werden. Dies führt zu grundlegenden Service-Fehlern und verhindert eine erfolgreiche Bereitstellung.

Lösung resolution

Gehen Sie wie folgt vor, um das Problem zu beheben:

  1. Überprüfen Sie den Code für benutzerdefinierte OSGi-Komponenten wie Repository-Initialisierer und Authentifizierungs-Bundles.

  2. Stellen Sie sicher, dass alle referenzierten JCR-Knotentypen (z. B.: client) vorhanden sind, bevor eine Ordnererstellungslogik in Ihrem benutzerdefinierten Code ausgeführt wird.

  3. Überprüfen Sie die OSGi-Komponentendeskriptoren, um sicherzustellen, dass sie mit den Konstruktorsignaturen in den kompilierten Klassen übereinstimmen.

  4. Vergewissern Sie sich, dass die Werkskonfigurationen für benutzerdefinierte Authentifizierungskomponenten (z. B. ProviderConfigImpl, ProviderConfigServiceManagerImpl, OAuthManagerImpl) korrekt sind und in der neuesten Bereitstellung nicht neu eingeführt oder geändert wurden.

  5. Überprüfen Sie die Konfiguration der Konsistenzprüfung:

    • Suchen Sie die OSGi-Konfiguration für die Konsistenzprüfung Erforderliche Komponenten (benutzerdefiniert (in der Regel eine Werkskonfiguration für org.apache.felix.hc.generalchecks.ComponentsCheck, getaggt benutzerdefiniert).

    • Vergewissern Sie sich, dass die erforderliche Komponentenliste die betroffenen benutzerdefinierten Komponenten enthält.

    • Verwenden der AEM Touch-Benutzeroberfläche (Tools > Vorgänge > Konsistenzprüfung), um den aktuellen Status und die Meldungen für die benutzerdefinierte Konsistenzprüfung zu überprüfen.

  6. Stellen Sie nach der Behebung der festgestellten Probleme die betroffenen Bundles erneut bereit und überprüfen Sie, ob die Umgebung einen stabilen Bereitschaftsstatus erreicht und alle Konsistenzprüfungen erfolgreich sind.

recommendation-more-help
experience-cloud-kcs-help-kbarticles