From 20dd452697fd836b79948be4558343d9faeacd8c Mon Sep 17 00:00:00 2001 From: jaysunxiao Date: Thu, 5 Aug 2021 17:43:24 +0800 Subject: [PATCH] =?UTF-8?q?perf[orm]:=20entity=20cache=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E7=9B=B8=E5=90=8C=E7=9A=84=E7=BA=BF=E7=A8=8B=E5=8E=BB=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- event/src/main/java/com/zfoo/event/manager/EventBus.java | 4 ++++ .../java/com/zfoo/orm/model/persister/CronOrmPersister.java | 2 +- .../java/com/zfoo/orm/model/persister/TimeOrmPersister.java | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/event/src/main/java/com/zfoo/event/manager/EventBus.java b/event/src/main/java/com/zfoo/event/manager/EventBus.java index 2d209c3a..92bf0b85 100644 --- a/event/src/main/java/com/zfoo/event/manager/EventBus.java +++ b/event/src/main/java/com/zfoo/event/manager/EventBus.java @@ -91,6 +91,10 @@ public abstract class EventBus { return executors[RandomUtils.randomInt(EXECUTORS_SIZE)]; } + public static Executor asyncExecute(int hashcode) { + return executors[Math.abs(hashcode % EXECUTORS_SIZE)]; + } + private static void doSubmit(IEvent event, List receiverList) { for (var receiver : receiverList) { try { diff --git a/orm/src/main/java/com/zfoo/orm/model/persister/CronOrmPersister.java b/orm/src/main/java/com/zfoo/orm/model/persister/CronOrmPersister.java index 47bb4078..18078eed 100644 --- a/orm/src/main/java/com/zfoo/orm/model/persister/CronOrmPersister.java +++ b/orm/src/main/java/com/zfoo/orm/model/persister/CronOrmPersister.java @@ -78,7 +78,7 @@ public class CronOrmPersister extends AbstractOrmPersister { @Override public void run() { if (!OrmContext.isStop()) { - EventBus.asyncExecute().execute(new Runnable() { + EventBus.asyncExecute(entityDef.getClazz().hashCode()).execute(new Runnable() { @Override public void run() { entityCaches.persistAll(); diff --git a/orm/src/main/java/com/zfoo/orm/model/persister/TimeOrmPersister.java b/orm/src/main/java/com/zfoo/orm/model/persister/TimeOrmPersister.java index 4c2493c2..47d8c32a 100644 --- a/orm/src/main/java/com/zfoo/orm/model/persister/TimeOrmPersister.java +++ b/orm/src/main/java/com/zfoo/orm/model/persister/TimeOrmPersister.java @@ -47,7 +47,7 @@ public class TimeOrmPersister extends AbstractOrmPersister { @Override public void run() { if (!OrmContext.isStop()) { - EventBus.asyncExecute().execute(new Runnable() { + EventBus.asyncExecute(entityDef.getClazz().hashCode()).execute(new Runnable() { @Override public void run() { entityCaches.persistAll();