package eu.dnetlib.goldoa.service.utils;

import eu.dnetlib.goldoa.service.PublicationManager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;
import javax.sql.DataSource;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;

/**
 * Created by antleb on 3/7/16.
 */
public class Scheduler {

	@Autowired
	private DataSource dataSource;
	@Autowired
	private PublicationManager publicationManager;

	private ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);

	@PostConstruct
	public void init() {

		executor.scheduleAtFixedRate(new LicenseUpdateTask(dataSource, publicationManager), 0, 3,TimeUnit.HOURS);
	}

	public void destroy() {
		executor.shutdown();
	}
}
