Files
mxids/src/main/java/io/kamax/mxisd/hash/rotation/TimeBasedRotation.java
Anatoliy Sablin b2f41d689b #26 fix.
2020-02-19 00:36:05 +03:00

35 lines
925 B
Java

package io.kamax.mxisd.hash.rotation;
import io.kamax.mxisd.hash.engine.Engine;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class TimeBasedRotation implements HashRotationStrategy {
private final long delay;
private Engine engine;
private final ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor();
public TimeBasedRotation(long delay) {
this.delay = delay;
}
@Override
public void register(Engine engine) {
this.engine = engine;
Runtime.getRuntime().addShutdownHook(new Thread(executorService::shutdown));
executorService.scheduleWithFixedDelay(this::trigger, 0, delay, TimeUnit.SECONDS);
}
@Override
public Engine getHashEngine() {
return engine;
}
@Override
public void newRequest() {
}
}