| Exam Code | AD0-E137 |
| Exam Name | Adobe Experience Manager Sites Developer Expert |
| Vendor | Adobe |
| Total Questions | 50 |
| Last Updated | 26-Oct, 2026 |
- Latest & Verified Questions
- Detailed Explanations
- Regular Updates
- Full-Length Practice Tests
- Boost Your Exam Confidence
PDF Study Materials
Downloadable guides and resources
Practice Tests
Full-length tests with real exam experience
Progress Tracking
Monitor your performance and improvement
Study Anywhere
Access on desktop, tablet, and mobile
Free AD0-E137 Practice Questions
Explore 5 free practice questions for the Adobe AD0-E137 exam and review the answers and explanations to support your preparation.
-
Question 1
Single answerFrom which source environment can content be copied to Stage using Content Sets in Cloud Manager?
-
Option A:Correct
Development
-
Option B:Correct
Integration
-
Option C:Correct
Production
Show Answer & Explanation Hide Answer & Explanation
Correct Answer: C
Explanation
Cloud Manager’s Content Copy feature allows administrators to copy content from Production to non-production environments such as Stage or Development. This is intended to provide accurate and representative content for testing, QA, or UAT purposes. Content cannot be copied from Development or Integration to Stage, as Adobe enforces strict controls to prevent non-production content from contaminating Production or Stage environments. Option C is correct because Production is the only valid source environment for copying content to Stage. Adobe emphasizes that copying content from Production ensures consistency and valid test data while maintaining governance and security in AEMaaCS.
[Reference: AEM as a Cloud Service – Content Copy in Cloud Manager, , ] -
-
Question 2
Single answerWhat is the role of the " Retry Delay " setting in an AEM replication agent ' s configuration?
-
Option A:Correct
It defines how often replication failures will be retried.
-
Option B:Correct
It controls the delay between each replication trigger.
-
Option C:Correct
It specifies how long to wait before marking a replication job as failed.
-
Option D:Correct
It manages the interval at which the replication queue is processed.
Show Answer & Explanation Hide Answer & Explanation
Correct Answer: A
Explanation
The Retry Delay setting in a replication agent specifies the interval (in milliseconds) to wait before retrying a failed replication request. This ensures that temporary network or system issues don’t permanently block replication, as the agent will automatically attempt to resend content at the configured delay interval.
From Adobe Documentation:
“Retry Delay: The time (in milliseconds) to wait before attempting to retry a failed replication. This helps ensure that replication requests are retried at regular intervals if initial delivery fails.”
— Adobe AEM 6.5 & AEMaaCS – Replication Agent Configuration
-
-
Question 3
Single answerA developer is creating a new tenant called noot in an AEM Cloud Service instance. The team is using independent repositories for the different tenants. The team is also using git submodules tool.
What must the developer do to ensure the new noot tenant repository is deployed?
-
Option A:Correct
Push the changes of the noot repository to the Adobe git repository.
-
Option B:Correct
Add a reference to noot as a submodule of the main project in the team’s git management tool.
-
Option C:Correct
Add a reference to the main project in the noot module in the Adobe git repository.
-
Option D:Correct
Manually copy the tenant code into the core repository.
Show Answer & Explanation Hide Answer & Explanation
Correct Answer: B
Explanation
In AEM as a Cloud Service, multi-tenant projects can be managed via independent repositories linked to a primary project repository using git submodules . When a new tenant is added, the tenant’s repository must be registered as a submodule of the main project so that it is included in the CI/CD build and deployment pipelines.
From Adobe Documentation:
“When using independent repositories for tenant modules, these repositories must be referenced as git submodules in the main project repository. This ensures they are included in the Cloud Manager build and deployment process.”
— Adobe AEM as a Cloud Service – Multi-tenant Setup & Git Submodules
-
-
Question 4
Single answerA developer is managing a common mistake that can lead to performance degradation in AEM development.
Which mistake would cause this type of problem?
-
Option A:Correct
Implementing recursive function calls without considering potential stack overflow errors
-
Option B:Correct
Using static variables extensively to store application state across multiple requests
-
Option C:Correct
Failing to implement proper indexing strategies for large data sets queried from the repository
-
Option D:Correct
Overusing synchronized blocks to manage concurrent access to shared resources
Show Answer & Explanation Hide Answer & Explanation
Correct Answer: C
Explanation
The most common performance pitfall in AEM development is failing to configure proper indexing strategies for queries. Without indexes, repository queries fall back to traversal queries, which can be extremely expensive and cause performance degradation as datasets grow. While recursion, static variables, or synchronized blocks may cause other issues, they are not specific to AEM’s architecture. Adobe explicitly advises that developers always analyze queries using the Query Debugger and ensure properties being queried are indexed. Proper indexing is critical for scalability in AEM environments with large volumes of content and digital assets.
[Reference: AEM 6.5 – Query Performance and Indexing, , ] -
-
Question 5
Single answerA developer is asked to create an Adobe Experience Manager servlet MyServlet that listens for HTTP requests capable of handling the GET method. The servlet must be registered using Declarative Services (OSGi) and be bound to a specific resource type /my/resourcetype, allowing it to serve requests for a particular component.
What is the correct way to register a servlet?
-
Option A:Correct
@SlingServletResourceTypes(resourceTypes = " /my/resourcetype " , methods = { " get " })
public class MyServlet extends SlingSafeMethodServlet {
@Override
protected void doGET(SlingHttpServletRequest request, SlingHttpServletResponse response)
throws ServletException, IOException {
// Handle get request
}
}
-
Option B:Correct
@SlingServletResourceTypes(resourceTypes= " /my/resourcetype " , methods = { " GET " })
public class MyServlet extends SlingAllMethodsServlet {
@Override
protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response)
throws ServletException, IOException {
// Handle get request
}
}
-
Option C:Correct
@SlingServletResourceTypes(resourceTypes = " /my/resourcetype " , methods = { " get " })
public class MyServlet extends SlingSafeMethodServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// Handle get request
}
}
Show Answer & Explanation Hide Answer & Explanation
Correct Answer: B
Explanation
Explanation (Adobe Docs Reference):
The recommended way to bind servlets in AEM (OSGi DS) is via the @SlingServletResourceTypes annotation.
The methods value must be uppercase " GET " .
doGet() method must use SlingHttpServletRequest and SlingHttpServletResponse instead of standard Servlet API request/response.
SlingAllMethodsServlet is safe for handling multiple HTTP verbs, but you can extend SlingSafeMethodsServlet too. However, in Adobe docs examples, the uppercase " GET " with doGet(SlingHttpServletRequest, SlingHttpServletResponse) is correct.
-