All Downloads are FREE. Search and download functionalities are using the official Maven repository.

syncloud.synchronization.SynchronizationService Maven / Gradle / Ivy

The newest version!
package syncloud.synchronization;

import org.syncloud.facade.Service;
import syncloud.core.log.Logger;

import java.util.Timer;

public class SynchronizationService implements Service {

    private static Logger logger = Logger.getLogger(SynchronizationService.class);
    private final Timer timer;
    private Synchronization synchronization;
    private int syncPeriod;
    private boolean isRunning;

    public SynchronizationService(Synchronization synchronization, int syncPeriod) {
        this.synchronization = synchronization;
        this.syncPeriod = syncPeriod;
        timer = new Timer();

    }

    @Override
    public void start() {
        timer.schedule(synchronization, 0, syncPeriod * 1000);
        isRunning = true;
        logger.info("synchronization background task started");
    }

    @Override
    public void stop() {
        timer.cancel();
        isRunning = false;
    }

    @Override
    public void join() throws InterruptedException {
        while (true){Thread.sleep(5000);}
    }

    @Override
    public boolean isRunning() {
        return isRunning;
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy