From 65e94e69d8cb5fa657df0d2dc72316dae64ec903 Mon Sep 17 00:00:00 2001 From: Junling Bu Date: Wed, 8 Jan 2020 22:32:13 +0800 Subject: [PATCH] =?UTF-8?q?fix[litemall-core]:=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E6=BD=9C=E5=9C=A8=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/linlinjava/litemall/core/task/Task.java | 5 ++++- .../org/linlinjava/litemall/core/TaskTest.java | 17 +++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/litemall-core/src/main/java/org/linlinjava/litemall/core/task/Task.java b/litemall-core/src/main/java/org/linlinjava/litemall/core/task/Task.java index b71feb6b..bdcc5fb1 100644 --- a/litemall-core/src/main/java/org/linlinjava/litemall/core/task/Task.java +++ b/litemall-core/src/main/java/org/linlinjava/litemall/core/task/Task.java @@ -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 diff --git a/litemall-core/src/test/java/org/linlinjava/litemall/core/TaskTest.java b/litemall-core/src/test/java/org/linlinjava/litemall/core/TaskTest.java index a76cc442..ec5b65fd 100644 --- a/litemall-core/src/test/java/org/linlinjava/litemall/core/TaskTest.java +++ b/litemall-core/src/test/java/org/linlinjava/litemall/core/TaskTest.java @@ -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(); + } + } }