Interrupção do serviço RDE após a implantação do AEM devido à falta de pacotes OSGi

A implantação de código no ambiente RDE do Adobe Experience Manager as a Cloud Service (AEMaaCS) causa uma interrupção de serviço quando pacotes OSGi de terceiros, como io.jsonwebtoken, não são resolvidos devido a restrições mais rigorosas de região de API. Para corrigir isso, incorpore os arquivos JAR necessários em seu projeto usando o Bundle-ClassPath ou o -conditionalpackage, reimplante usando o aio aem:rde:install e valide se todas as dependências foram resolvidas com êxito.

Descrição description

Ambiente

  • Produto: Adobe Experience Manager as a Cloud Service (AEMaaCS) - Sites
  • Contexto: RDE (Ambiente de Desenvolvimento Rápido)
  • Ferramentas: comando aio aem:rde:install para implantação

Observação: as instâncias de nuvem padrão e as implantações locais permanecem inalteradas.

Problema/Sintomas

  • O ambiente RDE fica sem resposta após a implantação usando aio aem:rde:install.

  • A instância mostra uma mensagem "Interrupção de Serviço".

  • Reiniciar ou redefinir a instância não corrige o problema.

  • Os logs de erros mostram dependências de pacote OSGi de terceiros não resolvidas relacionadas a io.jsonwebtoken.

  • As dependências são resolvidas em ambientes de nuvem locais e padrão, mas falham no RDE devido a restrições mais rigorosas da região da API.

  • Trecho do log de erros:

    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)))

Resolução resolution

Para resolver esse problema, siga estas etapas:

  1. Revise as restrições da região da API impostas pelo RDE. Essas restrições limitam a visibilidade do pacote e bloqueiam o acesso a pacotes de terceiros como io.jsonwebtoken.

  2. Incorpore bibliotecas obrigatórias de terceiros no seu projeto. Use -conditionalpackage ou Bundle-ClassPath para incluir os seguintes arquivos JAR:

    • lib/jjwt-api-0.11.2.jar
    • lib/jjwt-impl-0.11.2.jar
    • lib/jjwt-jackson-0.11.2.jar
  3. Adicione as seguintes instruções ao arquivo 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. Implante o pacote atualizado usando aio aem:rde:install. Confirme se todas as dependências foram resolvidas e se a interrupção do serviço não ocorre mais.

  5. Teste a implantação nos ambientes do autor e de publicação para garantir a estabilidade.

Leitura relacionada

Como usar o Ambiente de Desenvolvimento Rápido no AEM

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