From a070d12bed2e38b680758e3541cf144300889c2e Mon Sep 17 00:00:00 2001 From: boni Date: Thu, 1 Nov 2018 15:51:44 +0800 Subject: [PATCH] #fix:修复不开启1级缓存时报NullException的bug --- pom.xml | 2 +- src/main/java/com/irrigation/icl/cache/LayeringCacheAutoFactory.java | 6 ++++-- src/main/java/com/irrigation/icl/cache/core/LayeringCache.java | 7 +++++-- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/pom.xml b/pom.xml index d61b9ec..314575a 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ com.irrigation common-lib - 2.0.0 + 2.0.1 UTF-8 diff --git a/src/main/java/com/irrigation/icl/cache/LayeringCacheAutoFactory.java b/src/main/java/com/irrigation/icl/cache/LayeringCacheAutoFactory.java index 1655007..088b746 100644 --- a/src/main/java/com/irrigation/icl/cache/LayeringCacheAutoFactory.java +++ b/src/main/java/com/irrigation/icl/cache/LayeringCacheAutoFactory.java @@ -55,8 +55,10 @@ public class LayeringCacheAutoFactory { MessageListenerAdapter listenerAdapter) { RedisMessageListenerContainer container = new RedisMessageListenerContainer(); container.setConnectionFactory(connectionFactory); - container.addMessageListener(listenerAdapter, new PatternTopic(layeringCacheProperties.getCacheL1().getTopic())); - + LayeringCacheProperties.L1 l1 = layeringCacheProperties.getCacheL1(); + if (l1 != null) { + container.addMessageListener(listenerAdapter, new PatternTopic(layeringCacheProperties.getCacheL1().getTopic())); + } return container; } diff --git a/src/main/java/com/irrigation/icl/cache/core/LayeringCache.java b/src/main/java/com/irrigation/icl/cache/core/LayeringCache.java index 2b9dad0..ead7b28 100644 --- a/src/main/java/com/irrigation/icl/cache/core/LayeringCache.java +++ b/src/main/java/com/irrigation/icl/cache/core/LayeringCache.java @@ -20,6 +20,7 @@ import org.springframework.util.StopWatch; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.Optional; import java.util.concurrent.Callable; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Future; @@ -41,9 +42,11 @@ public class LayeringCache extends RedisCache { public LayeringCache(LayeringCacheManager layeringCacheManager, String name, RedisCacheWriter cacheWriter, RedisCacheConfiguration cacheConfig) { super(name, cacheWriter, cacheConfig); this.layeringCacheManager = layeringCacheManager; - this.layeringCacheProperties = layeringCacheManager.getLayeringCacheProperties(); - this.layerL1Enable = layeringCacheProperties.getCacheL1().isEnable(); + this.layerL1Enable = + Optional.ofNullable(layeringCacheProperties.getCacheL1()) + .orElse(new LayeringCacheProperties.L1()) + .isEnable(); initEhcache(); } -- libgit2 0.21.4