Redisson выполняет предыдущие работы по расписанию вновь представленных работ
Сначала я запланировал 5 заданий (old_job), которые они выполнили успешно. После этого я запланировал еще 5 заданий (new_job), но на этот раз предыдущие 5 заданий были выполнены по расписанию, которое я дал для нового задания. Может кто-нибудь объяснить мне это поведение redisson и указать, где я делаю ошибку.
public class Main {
private final static int NO_OF_JOBS = 5;
public static void main(String[] args) {
Config config = new Config();
config.useClusterServers()
.addNodeAddress("http://127.0.0.1:7000", "http://127.0.0.1:7001", "http://127.0.0.1:7002");
RedissonClient redisson = Redisson.create(config);
RExecutorService e = redisson.getExecutorService("w1");//redisson.getExecutorService("w1");
for (int j = 0; j < NO_OF_JOBS; j++) {
Calendar calendar = Calendar.getInstance();
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int minute = calendar.get(Calendar.MINUTE) + 1;
//System.out.println("hour, minute" + hour + ", " + minute);
((RScheduledExecutorService) e).schedule(new RunnableTask(j + 1), CronSchedule.dailyAtHourAndMinute(hour, minute));
}
}
}
//new_job
public class RunnableTask implements Runnable {
private int job_no;
RunnableTask(int job_no) {
this.job_no = job_no;
}
public void run() {
try {
Thread.sleep(10);
System.out.println("This is task no " + job_no);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
//old_Job
public class RunnableTask implements Runnable {
private static volatile int i = 0;
private long anyParam;
public RunnableTask() {
}
RunnableTask(long anyParam) {
this.anyParam = anyParam;
}
public void run() {
try {
Thread.sleep(10);
i++;
System.out.println(i);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
Для этого эксперимента я запустил 4 редиссоннода в автономном режиме с конфигурацией, описанной ниже.
{
"clusterServersConfig":{
"nodeAddresses":[
"redis://127.0.0.1:7001",
"redis://127.0.0.1:7002",
"redis://127.0.0.1:7003"
],
},
"threads":10,
"executorServiceWorkers": {"w1":10},
}
Мне нужна помощь в выводе такого поведения редиссона.