Expand my Community achievements bar.

AEM Scheduler to remove the asset


Community Advisor

Hi Community,

I want to create a scheduler by which I can remove a asset of specific extension from DAM in specific time duration.

I am trying to do it. but getting failure.

ResourceResolver writeResourceResolver;

ResourceResolverFactory rrFactory;

public void run() {

/*  creating a user to remove the asset and did the configuration in user mapping with all access to user.*/   

Map<String, Object> param = new HashMap<String, Object>();

param.put(ResourceResolverFactory.SUBSERVICE, "getResourceResolver");

ResourceResolver resourceResolver = rrFactory.getServiceResourceResolver(param);

Session session = resourceResolver.adaptTo(Session.class);


LOG.debug("User id " + session.getUserID());

if (session != null) {

if (session.itemExists(filename)) {

Node fileNameNode = session.getNode(filename);




LOG.debug("file Deleted");


} else {

LOG.error("session is null");



6 Replies


Level 8

try using the below example. Make sure you have created a system user for the scheduler service. https://helpx.adobe.com/experience-manager/using/aem-first-components1.html


Community Advisor

Hi, I am able to achieve this. but now I have issue to find the file with certain extension only. and delete them from specific folder.


Level 10

Also - create a workflow to perform CRUD operations on Assets to meet your business requirements. You can create custom workflow steps to search for assets, etc,

Your solution should be

A (Scheduler Service) -> B (Invokes a workflow that performs operations on Assets).



Have checked the Assets API.. there you can get name and last modified value by calling getName() getLastModified() com.day.cq.dam.api.Asset

Kautuk Sahni