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:install per 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:

  1. 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.

  2. Incorpora nel progetto le librerie di terze parti richieste. Utilizzare -conditionalpackage o Bundle-ClassPath per includere i seguenti file JAR:

    • lib/jjwt-api-0.11.2.jar
    • lib/jjwt-impl-0.11.2.jar
    • lib/jjwt-jackson-0.11.2.jar
  3. 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.jar
    
    code language-none
    -conditionalpackage: \
      io.jsonwebtoken;version="0.11.2", \
      io.jsonwebtoken.security;version="0.11.2"
    
  4. 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.

  5. 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

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f