diff --git a/redisson-spring-data/redisson-spring-data-18/src/main/java/org/redisson/spring/data/connection/RedissonConnectionFactory.java b/redisson-spring-data/redisson-spring-data-18/src/main/java/org/redisson/spring/data/connection/RedissonConnectionFactory.java index 2338ab359..cfa24da0b 100644 --- a/redisson-spring-data/redisson-spring-data-18/src/main/java/org/redisson/spring/data/connection/RedissonConnectionFactory.java +++ b/redisson-spring-data/redisson-spring-data-18/src/main/java/org/redisson/spring/data/connection/RedissonConnectionFactory.java @@ -40,7 +40,8 @@ import org.springframework.data.redis.connection.RedisSentinelConnection; * @author Nikita Koksharov * */ -public class RedissonConnectionFactory implements RedisConnectionFactory, InitializingBean, DisposableBean { +public class RedissonConnectionFactory implements RedisConnectionFactory, + InitializingBean, DisposableBean { private final static Log log = LogFactory.getLog(RedissonConnectionFactory.class); @@ -49,12 +50,14 @@ public class RedissonConnectionFactory implements RedisConnectionFactory, Initia private Config config; private RedissonClient redisson; - + private boolean hasOwnRedisson; + /** * Creates factory with default Redisson configuration */ public RedissonConnectionFactory() { this(Redisson.create()); + hasOwnRedisson = true; } /** @@ -74,6 +77,7 @@ public class RedissonConnectionFactory implements RedisConnectionFactory, Initia public RedissonConnectionFactory(Config config) { super(); this.config = config; + hasOwnRedisson = true; } @Override @@ -83,6 +87,9 @@ public class RedissonConnectionFactory implements RedisConnectionFactory, Initia @Override public void destroy() throws Exception { + if (hasOwnRedisson) { + redisson.shutdown(); + } } @Override diff --git a/redisson-spring-data/redisson-spring-data-20/src/main/java/org/redisson/spring/data/connection/RedissonConnectionFactory.java b/redisson-spring-data/redisson-spring-data-20/src/main/java/org/redisson/spring/data/connection/RedissonConnectionFactory.java index 55cdf4f43..7ee3a818b 100644 --- a/redisson-spring-data/redisson-spring-data-20/src/main/java/org/redisson/spring/data/connection/RedissonConnectionFactory.java +++ b/redisson-spring-data/redisson-spring-data-20/src/main/java/org/redisson/spring/data/connection/RedissonConnectionFactory.java @@ -30,13 +30,7 @@ import org.springframework.dao.DataAccessException; import org.springframework.dao.InvalidDataAccessResourceUsageException; import org.springframework.data.redis.ExceptionTranslationStrategy; import org.springframework.data.redis.PassThroughExceptionTranslationStrategy; -import org.springframework.data.redis.connection.ReactiveRedisClusterConnection; -import org.springframework.data.redis.connection.ReactiveRedisConnection; -import org.springframework.data.redis.connection.ReactiveRedisConnectionFactory; -import org.springframework.data.redis.connection.RedisClusterConnection; -import org.springframework.data.redis.connection.RedisConnection; -import org.springframework.data.redis.connection.RedisConnectionFactory; -import org.springframework.data.redis.connection.RedisSentinelConnection; +import org.springframework.data.redis.connection.*; /** * Redisson based connection factory @@ -54,12 +48,14 @@ public class RedissonConnectionFactory implements RedisConnectionFactory, private Config config; private RedissonClient redisson; - + private boolean hasOwnRedisson; + /** * Creates factory with default Redisson configuration */ public RedissonConnectionFactory() { this(Redisson.create()); + hasOwnRedisson = true; } /** @@ -79,6 +75,7 @@ public class RedissonConnectionFactory implements RedisConnectionFactory, public RedissonConnectionFactory(Config config) { super(); this.config = config; + hasOwnRedisson = true; } @Override @@ -88,6 +85,9 @@ public class RedissonConnectionFactory implements RedisConnectionFactory, @Override public void destroy() throws Exception { + if (hasOwnRedisson) { + redisson.shutdown(); + } } @Override diff --git a/redisson-spring-data/redisson-spring-data-21/src/main/java/org/redisson/spring/data/connection/RedissonConnectionFactory.java b/redisson-spring-data/redisson-spring-data-21/src/main/java/org/redisson/spring/data/connection/RedissonConnectionFactory.java index 55cdf4f43..7ee3a818b 100644 --- a/redisson-spring-data/redisson-spring-data-21/src/main/java/org/redisson/spring/data/connection/RedissonConnectionFactory.java +++ b/redisson-spring-data/redisson-spring-data-21/src/main/java/org/redisson/spring/data/connection/RedissonConnectionFactory.java @@ -30,13 +30,7 @@ import org.springframework.dao.DataAccessException; import org.springframework.dao.InvalidDataAccessResourceUsageException; import org.springframework.data.redis.ExceptionTranslationStrategy; import org.springframework.data.redis.PassThroughExceptionTranslationStrategy; -import org.springframework.data.redis.connection.ReactiveRedisClusterConnection; -import org.springframework.data.redis.connection.ReactiveRedisConnection; -import org.springframework.data.redis.connection.ReactiveRedisConnectionFactory; -import org.springframework.data.redis.connection.RedisClusterConnection; -import org.springframework.data.redis.connection.RedisConnection; -import org.springframework.data.redis.connection.RedisConnectionFactory; -import org.springframework.data.redis.connection.RedisSentinelConnection; +import org.springframework.data.redis.connection.*; /** * Redisson based connection factory @@ -54,12 +48,14 @@ public class RedissonConnectionFactory implements RedisConnectionFactory, private Config config; private RedissonClient redisson; - + private boolean hasOwnRedisson; + /** * Creates factory with default Redisson configuration */ public RedissonConnectionFactory() { this(Redisson.create()); + hasOwnRedisson = true; } /** @@ -79,6 +75,7 @@ public class RedissonConnectionFactory implements RedisConnectionFactory, public RedissonConnectionFactory(Config config) { super(); this.config = config; + hasOwnRedisson = true; } @Override @@ -88,6 +85,9 @@ public class RedissonConnectionFactory implements RedisConnectionFactory, @Override public void destroy() throws Exception { + if (hasOwnRedisson) { + redisson.shutdown(); + } } @Override diff --git a/redisson-spring-data/redisson-spring-data-22/src/main/java/org/redisson/spring/data/connection/RedissonConnectionFactory.java b/redisson-spring-data/redisson-spring-data-22/src/main/java/org/redisson/spring/data/connection/RedissonConnectionFactory.java index 55cdf4f43..b99be4b1a 100644 --- a/redisson-spring-data/redisson-spring-data-22/src/main/java/org/redisson/spring/data/connection/RedissonConnectionFactory.java +++ b/redisson-spring-data/redisson-spring-data-22/src/main/java/org/redisson/spring/data/connection/RedissonConnectionFactory.java @@ -54,12 +54,14 @@ public class RedissonConnectionFactory implements RedisConnectionFactory, private Config config; private RedissonClient redisson; - + private boolean hasOwnRedisson; + /** * Creates factory with default Redisson configuration */ public RedissonConnectionFactory() { this(Redisson.create()); + hasOwnRedisson = true; } /** @@ -79,6 +81,7 @@ public class RedissonConnectionFactory implements RedisConnectionFactory, public RedissonConnectionFactory(Config config) { super(); this.config = config; + hasOwnRedisson = true; } @Override @@ -88,6 +91,9 @@ public class RedissonConnectionFactory implements RedisConnectionFactory, @Override public void destroy() throws Exception { + if (hasOwnRedisson) { + redisson.shutdown(); + } } @Override