in src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageCleanup.java [54:86]
public void run () {
log.debug("Cleaning up {} packages", packageBuilder.getType());
ResourceResolver serviceResolver = null;
try {
int deleted = 0, total = 0;
serviceResolver = resolverFactory.getServiceResourceResolver(null);
for (Iterator<ResourceDistributionPackage> pkgs = packageBuilder.getPackages(serviceResolver) ; pkgs.hasNext() ; total++) {
ResourceDistributionPackage pkg = pkgs.next();
if (pkg.disposable()) {
log.debug("Delete package {}", pkg.getId());
deleted++;
pkg.delete(false);
} else {
log.debug("package {} is not disposable", pkg.getId());
}
}
if (serviceResolver.hasChanges()) {
serviceResolver.commit();
}
log.debug("Cleaned up {}/{} {} packages",
deleted, total, packageBuilder.getType());
} catch (LoginException e) {
log.error("Failed to get distribution service resolver: {}", e.getMessage());
} catch (DistributionException e) {
log.error("Failed to get the list of packages", e);
} catch (PersistenceException e) {
log.error("Failed to delete disposable packages", e);
} finally {
if (serviceResolver != null && serviceResolver.isLive()) {
serviceResolver.close();
}
}
}