From 576c985d8ffc28f60b92d5ec8e318d411527d1c1 Mon Sep 17 00:00:00 2001 From: heavyrain lee Date: Fri, 5 Jul 2019 08:47:44 +0800 Subject: [PATCH] =?UTF-8?q?=E8=81=8A=E5=A4=A9=E5=AE=A4=E5=8E=86=E5=8F=B2?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/win/liyufan/im/MessageShardingUtil.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/broker/src/main/java/win/liyufan/im/MessageShardingUtil.java b/broker/src/main/java/win/liyufan/im/MessageShardingUtil.java index e877b548..974521fe 100644 --- a/broker/src/main/java/win/liyufan/im/MessageShardingUtil.java +++ b/broker/src/main/java/win/liyufan/im/MessageShardingUtil.java @@ -54,10 +54,15 @@ public class MessageShardingUtil { return "t_messages"; } - mid >>= (nodeIdWidth + rotateIdWidth); - Date date = new Date(mid + T201801010000); Calendar calendar = Calendar.getInstance(); - calendar.setTime(date); + if (mid != Long.MAX_VALUE) { + mid >>= (nodeIdWidth + rotateIdWidth); + Date date = new Date(mid + T201801010000); + calendar.setTime(date); + } else { + Date date = new Date(System.currentTimeMillis()); + calendar.setTime(date); + } int month = calendar.get(Calendar.MONTH); int year = calendar.get(Calendar.YEAR); year %= 3;