fix[litemall-core]: 修复潜在问题。
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user