Interruzione del servizio RDE dopo l’implementazione di AEM a causa di bundle OSGi mancanti
La distribuzione del codice nell’ambiente RDE di Adobe Experience Manager as a Cloud Service (AEMaaCS) causa un’interruzione del servizio quando i bundle OSGi di terze parti come io.jsonwebtoken non vengono risolti a causa di vincoli di area API più rigidi. Per risolvere questo problema, incorpora i file JAR richiesti nel progetto utilizzando Bundle-ClassPath o -conditionalpackage, ridistribuisci utilizzando aio aem:rde:install e verifica che tutte le dipendenze siano state risolte correttamente.
Descrizione description
Ambiente
- Prodotto: Adobe Experience Manager as a Cloud Service (AEMaaCS) - Siti
- Contesto: RDE (ambiente di sviluppo rapido)
- Strumenti: comando
aio aem:rde:installper la distribuzione
Nota: le istanze cloud standard e le distribuzioni locali rimangono invariate.
Problema/Sintomi
-
L'ambiente RDE non risponde dopo la distribuzione tramite
aio aem:rde:install. -
L’istanza mostra un messaggio di "Interruzione del servizio".
-
Il riavvio o il ripristino dell’istanza non risolve il problema.
-
I registri di errore mostrano le dipendenze del bundle OSGi di terze parti non risolte relative a
io.jsonwebtoken. -
Le dipendenze si risolvono in ambienti cloud locali e standard, ma non riescono in RDE a causa di vincoli di area API più severi.
-
Estratto del registro errori:
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)))
Risoluzione resolution
Per risolvere questo problema, effettua le seguenti operazioni:
-
Esamina i vincoli di area API applicati da RDE. Questi vincoli limitano la visibilità dei pacchetti e bloccano l'accesso a bundle di terze parti come
io.jsonwebtoken. -
Incorpora nel progetto le librerie di terze parti richieste. Utilizzare
-conditionalpackageoBundle-ClassPathper includere i seguenti file JAR:lib/jjwt-api-0.11.2.jarlib/jjwt-impl-0.11.2.jarlib/jjwt-jackson-0.11.2.jar
-
Aggiungi le seguenti istruzioni al file
bnd.bnd: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" -
Distribuire il pacchetto aggiornato utilizzando
aio aem:rde:install. Verificare che tutte le dipendenze siano risolte e che non si verifichi più l'interruzione del servizio. -
Esegui il test della distribuzione negli ambienti di authoring e pubblicazione per assicurarne la stabilità.
Lettura correlata
Come utilizzare l'ambiente di sviluppo rapido in AEM