Highlighted

AEM Scheduler to remove the asset

Prince_Shivhare

08-02-2018

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

}

}

Replies

Highlighted

Prince_Shivhare

08-02-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.

Highlighted

smacdonald2008

08-02-2018

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

Highlighted

kautuk_sahni

Community Manager

08-02-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