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:installcommand 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:
-
Review the API region constraints enforced by RDE. These constraints limit package visibility and block access to third-party bundles like
io.jsonwebtoken. -
Embed required third-party libraries into your project. Use either
-conditionalpackageorBundle-ClassPathto include the following JAR files:lib/jjwt-api-0.11.2.jarlib/jjwt-impl-0.11.2.jarlib/jjwt-jackson-0.11.2.jar
-
Add the following instructions to your
bnd.bndfile: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" -
Deploy the updated package using
aio aem:rde:install. Confirm that all dependencies resolve and the service outage no longer occurs. -
Test the deployment in both author and publish environments to ensure stability.
Related reading
How to use Rapid Development Environment in AEM