fix[litemall-core]: 修复潜在问题。

This commit is contained in:
Junling Bu
2020-01-08 22:32:13 +08:00
parent 7df32f31c8
commit 65e94e69d8
2 changed files with 21 additions and 1 deletions

View File

@@ -1,5 +1,8 @@
package org.linlinjava.litemall.core.task;
import com.google.common.primitives.Ints;
import java.time.LocalDateTime;
import java.util.concurrent.Delayed;
import java.util.concurrent.TimeUnit;
@@ -24,7 +27,7 @@ public abstract class Task implements Delayed, Runnable{
@Override
public int compareTo(Delayed o) {
return (int)(this.getDelay(TimeUnit.MILLISECONDS) - o.getDelay(TimeUnit.MILLISECONDS));
return Ints.saturatedCast(this.start - ((Task) o).start);
}
@Override

View File

@@ -89,4 +89,21 @@ public class TaskTest {
e.printStackTrace();
}
}
@Test
public void test2() {
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String now = df.format(LocalDateTime.now());
System.out.println("start at time=" + now);
taskService.addTask(new DemoTask("1", 0));
taskService.addTask(new DemoTask("2", 1200));
taskService.addTask(new DemoTask("3", 5200));
try {
Thread.sleep(10 * 1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}