package ru.qatools.gridrouter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import ru.qatools.gridrouter.sessions.StatsCounter;
import java.time.Duration;
/**
* @author Innokenty Shuvalov innokenty@yandex-team.ru
*/
@Configuration
@EnableScheduling
public class SessionStorageEvictionScheduler {
@Value("${grid.router.evict.sessions.timeout.seconds}")
private int timeout;
@Autowired
private StatsCounter statsCounter;
@Scheduled(cron = "${grid.router.evict.sessions.cron}")
public void expireOldSessions() {
statsCounter.expireSessionsOlderThan(Duration.ofSeconds(timeout));
}
}