From e437856a86b31db5a967fe206fdafe4353cf0468 Mon Sep 17 00:00:00 2001 From: zengxiaobo Date: Fri, 16 Aug 2024 11:06:30 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96=E5=8D=95=E5=85=83?= =?UTF-8?q?=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 原因 优化单元测试 修改 优化单元测试 --- .../unittest/support/config/RedisConfig.java | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) 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(); + } } }