From ec0e5916fb7cbe775cfce2936e51abad6a99e802 Mon Sep 17 00:00:00 2001 From: jackygurui Date: Thu, 8 Sep 2016 22:08:15 +0100 Subject: [PATCH] added warm up process to improve usage performance --- redisson/src/main/java/org/redisson/Redisson.java | 6 ++++++ redisson/src/main/java/org/redisson/RedissonReference.java | 2 ++ .../main/java/org/redisson/misc/RedissonObjectFactory.java | 2 ++ 3 files changed, 10 insertions(+) diff --git a/redisson/src/main/java/org/redisson/Redisson.java b/redisson/src/main/java/org/redisson/Redisson.java index 1e4c67c04..05e085238 100755 --- a/redisson/src/main/java/org/redisson/Redisson.java +++ b/redisson/src/main/java/org/redisson/Redisson.java @@ -74,6 +74,7 @@ import org.redisson.liveobject.provider.ResolverProvider; import org.redisson.pubsub.SemaphorePubSub; import io.netty.util.internal.PlatformDependent; +import org.redisson.misc.RedissonObjectFactory; /** * Main infrastructure class allows to get access @@ -84,6 +85,11 @@ import io.netty.util.internal.PlatformDependent; */ public class Redisson implements RedissonClient { + static { + RedissonObjectFactory.warmUp(); + RedissonReference.warmUp(); + } + protected final EvictionScheduler evictionScheduler; protected final CommandExecutor commandExecutor; protected final ConnectionManager connectionManager; diff --git a/redisson/src/main/java/org/redisson/RedissonReference.java b/redisson/src/main/java/org/redisson/RedissonReference.java index efb71e7a8..45a9bcd96 100644 --- a/redisson/src/main/java/org/redisson/RedissonReference.java +++ b/redisson/src/main/java/org/redisson/RedissonReference.java @@ -62,6 +62,8 @@ public class RedissonReference { reactiveMap.makeImmutable(); } + public static void warmUp() {} + private String type; private String keyName; private String codec; diff --git a/redisson/src/main/java/org/redisson/misc/RedissonObjectFactory.java b/redisson/src/main/java/org/redisson/misc/RedissonObjectFactory.java index 690904321..5db5e2086 100644 --- a/redisson/src/main/java/org/redisson/misc/RedissonObjectFactory.java +++ b/redisson/src/main/java/org/redisson/misc/RedissonObjectFactory.java @@ -216,4 +216,6 @@ public class RedissonObjectFactory { } throw new ClassNotFoundException("No RObject is found to match class type of " + (expectedType != null ? expectedType.getName() : "null") + " with codec type of " + (codec != null ? codec.getClass().getName() : "null")); } + + public static void warmUp() {} }