RDE service outage after AEM deployment due to missing OSGi bundles

Deploying code to the Adobe Experience Manager as a Cloud Service (AEMaaCS) RDE environment causes a service outage when third-party OSGi bundles like io.jsonwebtoken fail to resolve due to stricter API region constraints. To fix this, embed the required JAR files in your project using Bundle-ClassPath or -conditionalpackage, redeploy using aio aem:rde:install, and validate that all dependencies resolve successfully.

Description description

Environment

  • Product: Adobe Experience Manager as a Cloud Service (AEMaaCS) - Sites
  • Context: RDE (Rapid Development Environment)
  • Tools: aio aem:rde:install command for deployment

Note: Standard cloud instances and local deployments remain unaffected.

Issue/Symptoms

  • RDE environment becomes unresponsive after deployment using aio aem:rde:install.

  • Instance shows a “Service Outage” message.

  • Restarting or resetting the instance doesn’t fix the issue.

  • Error logs show unresolved third-party OSGi bundle dependencies related to io.jsonwebtoken.

  • Dependencies resolve in local and standard cloud environments but fail in RDE due to stricter API region constraints.

  • Error log excerpt:

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

Resolution resolution

To address this issue, follow these steps:

  1. Review the API region constraints enforced by RDE. These constraints limit package visibility and block access to third-party bundles like io.jsonwebtoken.

  2. Embed required third-party libraries into your project. Use either -conditionalpackage or Bundle-ClassPath to include the following JAR files:

    • lib/jjwt-api-0.11.2.jar
    • lib/jjwt-impl-0.11.2.jar
    • lib/jjwt-jackson-0.11.2.jar
  3. Add the following instructions to your bnd.bnd file:

    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. Deploy the updated package using aio aem:rde:install. Confirm that all dependencies resolve and the service outage no longer occurs.

  5. Test the deployment in both author and publish environments to ensure stability.

How to use Rapid Development Environment in AEM

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