CleanupScheduler.java

 avatar
unknown
java
a year ago
2.1 kB
17
Indexable
package com.trilha03.core.schedulers;

import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.api.resource.ResourceResolverFactory;
import org.apache.sling.commons.scheduler.Scheduler;
import org.osgi.service.component.annotations.*;
import org.osgi.service.metatype.annotations.Designate;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.trilha03.core.config.CleanupSchedulerConfiguration;
import com.trilha03.core.models.ModelTeste;

@Component(
        immediate = true,
        service = Runnable.class,
        property = {
                Scheduler.PROPERTY_SCHEDULER_CONCURRENT + ":Boolean=false",
                Scheduler.PROPERTY_SCHEDULER_PERIOD + ":Long=30" // 30 seconds
        }
)
@Designate(ocd = CleanupSchedulerConfiguration.class)
public class CleanupScheduler implements Runnable {
    private static final Logger LOG = LoggerFactory.getLogger(CleanupScheduler.class);

    @Reference
    private ResourceResolverFactory resolverFactory;

    @Activate
    @Modified
    public void activate() {
        run(); // Run immediately on activation
    }

    @Override
    public void run() {
        LOG.info("\n ====> RUN METHOD");

        try (ResourceResolver resourceResolver = resolverFactory.getServiceResourceResolver(null)) {
            // Specify the path of the component
            String modelTestePath = "/content/trilha_03/us/en/jcr:content/root/container/container/modelteste";

            Resource modelTesteResource = resourceResolver.getResource(modelTestePath);

            if (modelTesteResource != null) {
                modelTesteResource.adaptTo(ModelTeste.class).updatePropertiesToBlank();
                LOG.info("ModelTeste properties updated to blank successfully.");
            } else {
                LOG.error("ModelTeste resource not found at path: {}", modelTestePath);
            }
        } catch (Exception e) {
            LOG.error("Exception while obtaining ResourceResolver: {}", e.getMessage());
        }
    }
}
Editor is loading...
Leave a Comment