diff --git a/unittest-support-lib/src/main/java/cn/axzo/foundation/unittest/support/config/RedisConfig.java b/unittest-support-lib/src/main/java/cn/axzo/foundation/unittest/support/config/RedisConfig.java index dbc8929..54ddfdf 100644 --- a/unittest-support-lib/src/main/java/cn/axzo/foundation/unittest/support/config/RedisConfig.java +++ b/unittest-support-lib/src/main/java/cn/axzo/foundation/unittest/support/config/RedisConfig.java @@ -1,5 +1,6 @@ package cn.axzo.foundation.unittest.support.config; +import lombok.extern.slf4j.Slf4j; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.data.redis.core.RedisTemplate; import redis.embedded.RedisServer; @@ -11,21 +12,29 @@ import javax.annotation.PreDestroy; * redis存在时, 处理相关配置 * 1. 启动embedded的redis */ +@Slf4j @ConditionalOnClass({RedisTemplate.class}) public class RedisConfig { private RedisServer redisServer; @PostConstruct public void postConstruct() { - redisServer = RedisServer.builder().port(16739).setting("maxheap 128m").build(); - // redis server会在后台启动一个redis server的进程,默认IP=127.0.0.1 - redisServer.start(); + try { + redisServer = RedisServer.builder().port(16739).setting("maxheap 128m").build(); + // redis server会在后台启动一个redis server的进程,默认IP=127.0.0.1 + redisServer.start(); + } catch (Exception ex) { + redisServer = null; + log.error("embedded-redis start failed", ex); + } } @PreDestroy public void preDestroy() { - // 测试结束后必须调用redisServer.stop(), 否则后台运行的redis server进程会一直存在并占用6379端口 - redisServer.stop(); + if (redisServer != null) { + // 测试结束后必须调用redisServer.stop(), 否则后台运行的redis server进程会一直存在并占用6379端口 + redisServer.stop(); + } } }