AEM Scheduler to remove the asset | Community
Skip to main content
Prince_Shivhare
Community Advisor
Community Advisor
February 8, 2018

AEM Scheduler to remove the asset

  • February 8, 2018
  • 2 replies
  • 3207 views

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

session.refresh(true);

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

if (session != null) {

if (session.itemExists(filename)) {

Node fileNameNode = session.getNode(filename);

fileNameNode.remove();

session.save();

session.logout();

LOG.debug("file Deleted");

}

} else {

LOG.error("session is null");

}

}

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.

2 replies

Hemant_arora
Level 8
February 8, 2018

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

Prince_Shivhare
Community Advisor
Community Advisor
February 8, 2018

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.

Hemant_arora
Level 8
February 8, 2018

do a query and find for files with specific extension and delete https://helpx.adobe.com/experience-manager/using/using-query-builder-servlet.html

kautuk_sahni
Community Manager
Community Manager
February 8, 2018

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