Beheben von HTTP 500-Fehlern in einer einzelnen AEM-Veröffentlichungsinstanz aufgrund von OSGi-Bundle-Inkonsistenz
In diesem Artikel wird beschrieben, wie Sie HTTP 500-Fehler beheben können, die in einer einzigen Adobe Experience Manager (AEM)-Veröffentlichungsinstanz auftreten, wenn OSGi-Bundles nach einem abnormalen oder unsauberen Neustart nicht korrekt aufgelöst und aktiviert werden können.
Beschreibung description
Umgebung
Bereitstellung von Adobe Experience Manager (AEM) Managed Services-Veröffentlichungsinstanzen mit mehreren Instanzen (alle unterstützten Versionen)
Problem/Symptome
- Eine Veröffentlichungsinstanz gibt eine hohe Anzahl von HTTP-
500über mehrere Programm-URLs hinweg zurück. - Andere Veröffentlichungsinstanzen stellen den Traffic weiterhin normal bereit.
- Anwendungsprotokolle zeigen wiederholte HTL-/Sightly-Kompilierungsfehler an, da Java-Klassen nicht aufgelöst werden können.
- Das OSGi-Framework protokolliert Fehler bei der Bundle-Auflösung und nicht aufgelöste Abhängigkeiten für erforderliche Anwendungspakete.
Ursache
Ein abnormaler oder unsauberer Neustart führt dazu, dass das OSGi-Framework auf der betroffenen Veröffentlichungsinstanz in einem inkonsistenten Zustand bleibt. Erforderliche Anwendungspakete können nicht aufgelöst und aktiviert werden. Daher sind für die HTL-Kompilierung benötigte Klassen nicht verfügbar und Anfragen an betroffene Programm-URLs geben HTTP-500-Fehler zurück.
Lösung resolution
Gehen Sie wie folgt vor, um das Problem zu beheben.
-
Entfernen Sie die betroffene Veröffentlichungsinstanz von der Lastenausgleichs-Rotation, um weitere Auswirkungen auf die Kundschaft zu verhindern.
-
Starten Sie die betroffene Veröffentlichungsinstanz neu oder ersetzen Sie sie durch einen sauberen, kontrollierten Prozess.
-
Nachdem die Instanz neu gestartet oder ersetzt wurde, stellen Sie sicher, dass alle erforderlichen OSGi-Bundles aufgelöst und aktiv sind:
-
Rufen Sie die AEM-Systemkonsole auf (normalerweise unter
/system/console/bundles) und überprüfen Sie, ob alle Bundles den Status Aktiv aufweisen. -
Vergewissern Sie sich, dass die Anwendungsseiten ohne Kompilierungsfehler erfolgreich gerendert werden.
-
Überwachen Sie die Fehlerprotokolle auf weitere Fehler bei der Bundle-Auflösung oder HTL-Kompilierung.
-
-
Als vorbeugende Maßnahme sollten Sie nach jedem geplanten oder ungeplanten Neustart eine Bereitschaftsprüfung implementieren, um sicherzustellen, dass alle Bundles aktiv sind, bevor Sie die Instanz wieder in den Service aufnehmen.