diff --git a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionFactory.java b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionFactory.java index 0915bf59c..57e28d7fd 100644 --- a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionFactory.java +++ b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionFactory.java @@ -40,6 +40,7 @@ import org.springframework.data.redis.connection.RedisNode; import org.springframework.data.redis.connection.RedisSentinelConfiguration; import org.springframework.data.redis.connection.RedisSentinelConnection; import org.springframework.util.Assert; +import org.springframework.util.ClassUtils; import org.springframework.util.StringUtils; import com.lambdaworks.redis.AbstractRedisClient; @@ -147,8 +148,18 @@ public class LettuceConnectionFactory implements InitializingBean, DisposableBea * @see org.springframework.beans.factory.DisposableBean#destroy() */ public void destroy() { + resetConnection(); - client.shutdown(shutdownTimeout, shutdownTimeout, TimeUnit.MILLISECONDS); + + try { + client.shutdown(shutdownTimeout, shutdownTimeout, TimeUnit.MILLISECONDS); + } catch (Exception e) { + + if (log.isWarnEnabled()) { + log.warn((client != null ? ClassUtils.getShortName(client.getClass()) : "LettuceClient") + + " did not shut down gracefully.", e); + } + } if (clusterCommandExecutor != null) {