Ausfall des RDE-Services nach der AEM-Bereitstellung aufgrund fehlender OSGi-Bundles
Die Bereitstellung von Code in der RDE-Umgebung von Adobe Experience Manager as a Cloud Service (AEMaaCS) führt zu einem Service-Ausfall, wenn OSGi-Pakete von Drittanbietern wie io.jsonwebtoken aufgrund strengerer Einschränkungen für die API-Region nicht aufgelöst werden können. Um dies zu beheben, betten Sie die erforderlichen JAR-Dateien mit Bundle-ClassPath oder -conditionalpackage in Ihr Projekt ein, stellen Sie sie mithilfe von aio aem:rde:install erneut bereit und überprüfen Sie, ob alle Abhängigkeiten erfolgreich aufgelöst werden.
Beschreibung description
Umgebung
- Produkt: Adobe Experience Manager as a Cloud Service (AEMaaCS) - Sites
- context: RDE (Rapid Development Environment)
- Tools:
aio aem:rde:installBefehl für die Bereitstellung
Hinweis: Standardmäßige Cloud-Instanzen und lokale Bereitstellungen bleiben davon unberührt.
Problem/Symptome
-
Die RDE-Umgebung reagiert nach der Bereitstellung mit
aio aem:rde:installnicht mehr. -
Die -Instanz zeigt eine Meldung „Service Ausfall“ an.
-
Das Problem lässt sich nicht durch Neustarten oder Zurücksetzen der Instanz beheben.
-
Fehlerprotokolle zeigen nicht aufgelöste OSGi-Bundle-Abhängigkeiten von Drittanbietern im Zusammenhang mit
io.jsonwebtoken. -
Abhängigkeiten werden in lokalen und standardmäßigen Cloud-Umgebungen aufgelöst, schlagen in der RDE jedoch aufgrund strengerer Einschränkungen für die API-Region fehl.
-
Fehlerprotokoll-Auszug:
Unable to resolve fpaec-aem-base-components.core 645: missing requirement fpaec-aem-base-components.core [ 645] osgi.wiring.package; (&(osgi.wiring.package=io.jsonwebtoken)(version>=0.11.0)(!(version>=1.0.0)))
Auflösung resolution
Gehen Sie wie folgt vor, um dieses Problem zu beheben:
-
Überprüfen Sie die von der RDE erzwungenen Einschränkungen für die API-Region. Diese Einschränkungen beschränken die Sichtbarkeit von Paketen und blockieren den Zugriff auf Pakete von Drittanbietern wie
io.jsonwebtoken. -
Betten Sie erforderliche Drittanbieterbibliotheken in Ihr Projekt ein. Verwenden Sie entweder
-conditionalpackageoderBundle-ClassPath, um die folgenden JAR-Dateien einzuschließen:lib/jjwt-api-0.11.2.jarlib/jjwt-impl-0.11.2.jarlib/jjwt-jackson-0.11.2.jar
-
Fügen Sie Ihrer
bnd.bnd-Datei die folgenden Anweisungen hinzu:code language-none Bundle-ClassPath: ., lib/jjwt-api-0.11.2.jar, lib/jjwt-impl-0.11.2.jar, lib/jjwt-jackson-0.11.2.jarcode language-none -conditionalpackage: \ io.jsonwebtoken;version="0.11.2", \ io.jsonwebtoken.security;version="0.11.2" -
Stellen Sie das aktualisierte Paket mithilfe von
aio aem:rde:installbereit. Bestätigen Sie, dass alle Abhängigkeiten aufgelöst werden und der Service-Ausfall nicht mehr auftritt. -
Testen Sie die Bereitstellung sowohl in der Autoren- als auch in der Veröffentlichungsumgebung, um Stabilität sicherzustellen.