diff --git a/src/main/java/org/springframework/data/redis/connection/lettuce/DefaultLettucePool.java b/src/main/java/org/springframework/data/redis/connection/lettuce/DefaultLettucePool.java index c1293bdee..2ba6b3c7b 100644 --- a/src/main/java/org/springframework/data/redis/connection/lettuce/DefaultLettucePool.java +++ b/src/main/java/org/springframework/data/redis/connection/lettuce/DefaultLettucePool.java @@ -17,7 +17,6 @@ package org.springframework.data.redis.connection.lettuce; import java.util.concurrent.TimeUnit; -import com.lambdaworks.redis.resource.ClientResources; import org.apache.commons.pool2.BasePooledObjectFactory; import org.apache.commons.pool2.PooledObject; import org.apache.commons.pool2.impl.DefaultPooledObject; @@ -31,6 +30,7 @@ import org.springframework.util.Assert; import com.lambdaworks.redis.RedisAsyncConnection; import com.lambdaworks.redis.RedisClient; import com.lambdaworks.redis.RedisURI; +import com.lambdaworks.redis.resource.ClientResources; /** * Default implementation of {@link LettucePool}. @@ -41,7 +41,7 @@ import com.lambdaworks.redis.RedisURI; */ public class DefaultLettucePool implements LettucePool, InitializingBean { - @SuppressWarnings("rawtypes")// + @SuppressWarnings("rawtypes") // private GenericObjectPool internalPool; private RedisClient client; private int dbIndex = 0; @@ -104,10 +104,9 @@ public class DefaultLettucePool implements LettucePool, InitializingBean { @SuppressWarnings({ "rawtypes" }) public void afterPropertiesSet() { - if(clientResources != null) { + if (clientResources != null) { this.client = RedisClient.create(clientResources, getRedisURI()); - } - else { + } else { this.client = RedisClient.create(getRedisURI()); } @@ -283,19 +282,22 @@ public class DefaultLettucePool implements LettucePool, InitializingBean { } /** - * Returns the client resources to reuse the client infrastructure. - * @return client resources + * Get the {@link ClientResources} to reuse infrastructure. + * + * @return {@literal null} if not set. * @since 1.7 - */ + */ public ClientResources getClientResources() { return clientResources; } /** - * Sets the client resources to reuse the client infrastructure. - * @param clientResources + * Sets the {@link ClientResources} to reuse the client infrastructure.
+ * Set to {@literal null} to not share resources. + * + * @param clientResources can be {@literal null}. * @since 1.7 - */ + */ public void setClientResources(ClientResources clientResources) { this.clientResources = clientResources; } 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 496824d67..a9328a31e 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 @@ -20,7 +20,6 @@ import java.util.ArrayList; import java.util.List; import java.util.concurrent.TimeUnit; -import com.lambdaworks.redis.resource.ClientResources; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.beans.factory.DisposableBean; @@ -52,6 +51,7 @@ import com.lambdaworks.redis.RedisException; import com.lambdaworks.redis.RedisFuture; import com.lambdaworks.redis.RedisURI; import com.lambdaworks.redis.cluster.RedisClusterClient; +import com.lambdaworks.redis.resource.ClientResources; /** * Connection factory creating Lettuce-based connections. @@ -390,24 +390,6 @@ public class LettuceConnectionFactory implements InitializingBean, DisposableBea this.password = password; } - /** - * Returns the client resources to reuse the client infrastructure. - * @return client resources - * @since 1.7 - */ - public ClientResources getClientResources() { - return clientResources; - } - - /** - * Sets the client resources to reuse the client infrastructure. - * @param clientResources - * @since 1.7 - */ - public void setClientResources(ClientResources clientResources) { - this.clientResources = clientResources; - } - /** * Returns the shutdown timeout for shutting down the RedisClient (in milliseconds). * @@ -428,6 +410,27 @@ public class LettuceConnectionFactory implements InitializingBean, DisposableBea this.shutdownTimeout = shutdownTimeout; } + /** + * Get the {@link ClientResources} to reuse infrastructure. + * + * @return {@literal null} if not set. + * @since 1.7 + */ + public ClientResources getClientResources() { + return clientResources; + } + + /** + * Sets the {@link ClientResources} to reuse the client infrastructure.
+ * Set to {@literal null} to not share resources. + * + * @param clientResources can be {@literal null}. + * @since 1.7 + */ + public void setClientResources(ClientResources clientResources) { + this.clientResources = clientResources; + } + /** * Specifies if pipelined results should be converted to the expected data type. If false, results of * {@link LettuceConnection#closePipeline()} and {LettuceConnection#exec()} will be of the type returned by the @@ -488,8 +491,9 @@ public class LettuceConnectionFactory implements InitializingBean, DisposableBea private AbstractRedisClient createRedisClient() { if (isRedisSentinelAware()) { + RedisURI redisURI = getSentinelRedisURI(); - if(clientResources == null) { + if (clientResources == null) { return RedisClient.create(redisURI); } @@ -511,10 +515,9 @@ public class LettuceConnectionFactory implements InitializingBean, DisposableBea } RedisClusterClient clusterClient; - if(clientResources == null) { + if (clientResources == null) { clusterClient = RedisClusterClient.create(initialUris); - } - else { + } else { clusterClient = RedisClusterClient.create(clientResources, initialUris); } @@ -534,7 +537,7 @@ public class LettuceConnectionFactory implements InitializingBean, DisposableBea builder.withPassword(password); } builder.withTimeout(timeout, TimeUnit.MILLISECONDS); - if(clientResources != null) { + if (clientResources != null) { return RedisClient.create(clientResources, builder.build()); } diff --git a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceSentinelConnection.java b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceSentinelConnection.java index 53acd0cc7..a4d3fafd4 100644 --- a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceSentinelConnection.java +++ b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceSentinelConnection.java @@ -18,10 +18,6 @@ package org.springframework.data.redis.connection.lettuce; import java.io.IOException; import java.util.List; -import com.lambdaworks.redis.RedisClient; -import com.lambdaworks.redis.RedisSentinelAsyncConnection; -import com.lambdaworks.redis.RedisURI; -import com.lambdaworks.redis.resource.ClientResources; import org.springframework.data.redis.ExceptionTranslationStrategy; import org.springframework.data.redis.FallbackExceptionTranslationStrategy; import org.springframework.data.redis.connection.NamedNode; @@ -30,6 +26,11 @@ import org.springframework.data.redis.connection.RedisSentinelConnection; import org.springframework.data.redis.connection.RedisServer; import org.springframework.util.Assert; +import com.lambdaworks.redis.RedisClient; +import com.lambdaworks.redis.RedisSentinelAsyncConnection; +import com.lambdaworks.redis.RedisURI.Builder; +import com.lambdaworks.redis.resource.ClientResources; + /** * @author Christoph Strobl * @author Mark Paluch @@ -45,6 +46,7 @@ public class LettuceSentinelConnection implements RedisSentinelConnection { /** * Creates a {@link LettuceSentinelConnection} with a dedicated client for a supplied {@link RedisNode}. + * * @param sentinel The sentinel to connect to. */ public LettuceSentinelConnection(RedisNode sentinel) { @@ -53,31 +55,38 @@ public class LettuceSentinelConnection implements RedisSentinelConnection { /** * Creates a {@link LettuceSentinelConnection} with a client for the supplied {@code host} and {@code port}. - * @param host hostname must not be {@literal null} - * @param port sentinel port + * + * @param host must not be {@literal null}. + * @param port sentinel port. */ public LettuceSentinelConnection(String host, int port) { + Assert.notNull(host, "Cannot create LettuceSentinelConnection using 'null' as host."); - redisClient = RedisClient.create(new RedisURI.Builder().redis(host, port).build()); + + redisClient = RedisClient.create(Builder.redis(host, port).build()); init(); } /** * Creates a {@link LettuceSentinelConnection} with a client for the supplied {@code host} and {@code port} and reuse - * existing {@code clientResources}. - * @param clientResources must not be {@literal null} - * @param host hostname must not be {@literal null} - * @param port sentinel port + * existing {@link ClientResources}. + * + * @param host must not be {@literal null}. + * @param port sentinel port. + * @param clientResources must not be {@literal null}. */ - public LettuceSentinelConnection(ClientResources clientResources, String host, int port) { + public LettuceSentinelConnection(String host, int port, ClientResources clientResources) { + Assert.notNull(clientResources, "Cannot create LettuceSentinelConnection using 'null' as ClientResources."); Assert.notNull(host, "Cannot create LettuceSentinelConnection using 'null' as host."); - redisClient = RedisClient.create(clientResources, new RedisURI.Builder().redis(host, port).build()); + + redisClient = RedisClient.create(clientResources, Builder.redis(host, port).build()); init(); } /** * Creates a {@link LettuceSentinelConnection} using a supplied {@link RedisClient}. + * * @param redisClient */ public LettuceSentinelConnection(RedisClient redisClient) { @@ -89,6 +98,7 @@ public class LettuceSentinelConnection implements RedisSentinelConnection { /** * Creates a {@link LettuceSentinelConnection} using a supplied redis connection. + * * @param connection native Lettuce connection, must not be {@literal null} */ protected LettuceSentinelConnection(RedisSentinelAsyncConnection connection) { @@ -181,8 +191,7 @@ public class LettuceSentinelConnection implements RedisSentinelConnection { Assert.hasText(server.getHost(), "Host must not be 'null' for server to monitor."); Assert.notNull(server.getPort(), "Port must not be 'null' for server to monitor."); Assert.notNull(server.getQuorum(), "Quorum must not be 'null' for server to monitor."); - connection.monitor(server.getName(), server.getHost(), server.getPort().intValue(), server.getQuorum() - .intValue()); + connection.monitor(server.getName(), server.getHost(), server.getPort().intValue(), server.getQuorum().intValue()); } /* @@ -194,7 +203,7 @@ public class LettuceSentinelConnection implements RedisSentinelConnection { connection.close(); connection = null; - if(redisClient != null) { + if (redisClient != null) { redisClient.shutdown(); } } @@ -209,7 +218,6 @@ public class LettuceSentinelConnection implements RedisSentinelConnection { return redisClient.connectSentinelAsync(); } - @Override public boolean isOpen() { return connection != null && connection.isOpen(); diff --git a/src/test/java/org/springframework/data/redis/connection/lettuce/DefaultLettucePoolTests.java b/src/test/java/org/springframework/data/redis/connection/lettuce/DefaultLettucePoolTests.java index 3c26ad714..59c7094df 100644 --- a/src/test/java/org/springframework/data/redis/connection/lettuce/DefaultLettucePoolTests.java +++ b/src/test/java/org/springframework/data/redis/connection/lettuce/DefaultLettucePoolTests.java @@ -57,7 +57,7 @@ public class DefaultLettucePoolTests { @Test public void testGetResource() { this.pool = new DefaultLettucePool(SettingsUtils.getHost(), SettingsUtils.getPort()); - this.pool.setClientResources(TestClientResources.get()); + this.pool.setClientResources(LettuceTestClientResources.getSharedClientResources()); pool.afterPropertiesSet(); RedisAsyncConnection client = pool.getResource(); assertNotNull(client); @@ -71,7 +71,7 @@ public class DefaultLettucePoolTests { poolConfig.setMaxTotal(1); poolConfig.setMaxWaitMillis(1); this.pool = new DefaultLettucePool(SettingsUtils.getHost(), SettingsUtils.getPort(), poolConfig); - this.pool.setClientResources(TestClientResources.get()); + this.pool.setClientResources(LettuceTestClientResources.getSharedClientResources()); pool.afterPropertiesSet(); RedisAsyncConnection client = pool.getResource(); assertNotNull(client); @@ -88,7 +88,7 @@ public class DefaultLettucePoolTests { PoolConfig poolConfig = new PoolConfig(); poolConfig.setTestOnBorrow(true); this.pool = new DefaultLettucePool(SettingsUtils.getHost(), SettingsUtils.getPort(), poolConfig); - this.pool.setClientResources(TestClientResources.get()); + this.pool.setClientResources(LettuceTestClientResources.getSharedClientResources()); pool.afterPropertiesSet(); RedisAsyncConnection client = pool.getResource(); assertNotNull(client); @@ -98,7 +98,7 @@ public class DefaultLettucePoolTests { @Test(expected = PoolException.class) public void testGetResourceCreationUnsuccessful() throws Exception { this.pool = new DefaultLettucePool(SettingsUtils.getHost(), 3333); - this.pool.setClientResources(TestClientResources.get()); + this.pool.setClientResources(LettuceTestClientResources.getSharedClientResources()); pool.afterPropertiesSet(); pool.getResource(); } @@ -109,7 +109,7 @@ public class DefaultLettucePoolTests { poolConfig.setMaxTotal(1); poolConfig.setMaxWaitMillis(1); this.pool = new DefaultLettucePool(SettingsUtils.getHost(), SettingsUtils.getPort(), poolConfig); - this.pool.setClientResources(TestClientResources.get()); + this.pool.setClientResources(LettuceTestClientResources.getSharedClientResources()); pool.afterPropertiesSet(); RedisAsyncConnection client = pool.getResource(); assertNotNull(client); @@ -124,7 +124,7 @@ public class DefaultLettucePoolTests { poolConfig.setMaxTotal(1); poolConfig.setMaxWaitMillis(1); this.pool = new DefaultLettucePool(SettingsUtils.getHost(), SettingsUtils.getPort(), poolConfig); - this.pool.setClientResources(TestClientResources.get()); + this.pool.setClientResources(LettuceTestClientResources.getSharedClientResources()); pool.afterPropertiesSet(); RedisAsyncConnection client = pool.getResource(); assertNotNull(client); @@ -143,18 +143,7 @@ public class DefaultLettucePoolTests { @Test public void testCreateWithDbIndex() { this.pool = new DefaultLettucePool(SettingsUtils.getHost(), SettingsUtils.getPort()); - this.pool.setClientResources(TestClientResources.get()); - pool.setDatabase(1); - pool.afterPropertiesSet(); - assertNotNull(pool.getResource()); - } - - /** - * @see DATAREDIS-462 - */ - @Test - public void poolWorksWithoutClientResources() { - this.pool = new DefaultLettucePool(SettingsUtils.getHost(), SettingsUtils.getPort()); + this.pool.setClientResources(LettuceTestClientResources.getSharedClientResources()); pool.setDatabase(1); pool.afterPropertiesSet(); assertNotNull(pool.getResource()); @@ -163,7 +152,7 @@ public class DefaultLettucePoolTests { @Test(expected = PoolException.class) public void testCreateWithDbIndexInvalid() { this.pool = new DefaultLettucePool(SettingsUtils.getHost(), SettingsUtils.getPort()); - this.pool.setClientResources(TestClientResources.get()); + this.pool.setClientResources(LettuceTestClientResources.getSharedClientResources()); pool.setDatabase(17); pool.afterPropertiesSet(); pool.getResource(); @@ -172,7 +161,7 @@ public class DefaultLettucePoolTests { @Test(expected = PoolException.class) public void testCreateWithPasswordNoPassword() { this.pool = new DefaultLettucePool(SettingsUtils.getHost(), SettingsUtils.getPort()); - this.pool.setClientResources(TestClientResources.get()); + this.pool.setClientResources(LettuceTestClientResources.getSharedClientResources()); pool.setPassword("notthepassword"); pool.afterPropertiesSet(); pool.getResource(); @@ -182,7 +171,7 @@ public class DefaultLettucePoolTests { @Test public void testCreatePassword() { this.pool = new DefaultLettucePool(SettingsUtils.getHost(), SettingsUtils.getPort()); - this.pool.setClientResources(TestClientResources.get()); + this.pool.setClientResources(LettuceTestClientResources.getSharedClientResources()); pool.setPassword("foo"); pool.afterPropertiesSet(); RedisAsyncConnection conn = pool.getResource(); @@ -194,9 +183,21 @@ public class DefaultLettucePoolTests { @Test(expected = PoolException.class) public void testCreateInvalidPassword() { this.pool = new DefaultLettucePool(SettingsUtils.getHost(), SettingsUtils.getPort()); - this.pool.setClientResources(TestClientResources.get()); + this.pool.setClientResources(LettuceTestClientResources.getSharedClientResources()); pool.setPassword("bad"); pool.afterPropertiesSet(); pool.getResource(); } + + /** + * @see DATAREDIS-462 + */ + @Test + public void poolWorksWithoutClientResources() { + + this.pool = new DefaultLettucePool(SettingsUtils.getHost(), SettingsUtils.getPort()); + pool.setDatabase(1); + pool.afterPropertiesSet(); + assertNotNull(pool.getResource()); + } } diff --git a/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceClusterConnectionTests.java b/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceClusterConnectionTests.java index f46d45317..93e568158 100644 --- a/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceClusterConnectionTests.java +++ b/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceClusterConnectionTests.java @@ -85,7 +85,7 @@ public class LettuceClusterConnectionTests implements ClusterConnectionTests { @Before public void setUp() { - client = RedisClusterClient.create(TestClientResources.get(), + client = RedisClusterClient.create(LettuceTestClientResources.getSharedClientResources(), Builder.redis(CLUSTER_HOST, MASTER_NODE_1_PORT).withTimeout(100, TimeUnit.MILLISECONDS).build()); nativeConnection = client.connectCluster(); clusterConnection = new LettuceClusterConnection(client); diff --git a/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionFactoryTests.java b/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionFactoryTests.java index dc39626a8..c6589637e 100644 --- a/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionFactoryTests.java +++ b/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionFactoryTests.java @@ -15,8 +15,8 @@ */ package org.springframework.data.redis.connection.lettuce; -import static org.hamcrest.core.Is.is; -import static org.hamcrest.core.IsEqual.equalTo; +import static org.hamcrest.core.Is.*; +import static org.hamcrest.core.IsEqual.*; import static org.hamcrest.core.IsNull.*; import static org.junit.Assert.*; @@ -54,7 +54,7 @@ public class LettuceConnectionFactoryTests { public void setUp() { factory = new LettuceConnectionFactory(SettingsUtils.getHost(), SettingsUtils.getPort()); - factory.setClientResources(TestClientResources.get()); + factory.setClientResources(LettuceTestClientResources.getSharedClientResources()); factory.afterPropertiesSet(); factory.setShutdownTimeout(0); connection = new DefaultStringRedisConnection(factory.getConnection()); @@ -126,7 +126,7 @@ public class LettuceConnectionFactoryTests { public void testSelectDb() { LettuceConnectionFactory factory2 = new LettuceConnectionFactory(SettingsUtils.getHost(), SettingsUtils.getPort()); - factory2.setClientResources(TestClientResources.get()); + factory2.setClientResources(LettuceTestClientResources.getSharedClientResources()); factory2.setShutdownTimeout(0); factory2.setDatabase(1); factory2.afterPropertiesSet(); @@ -229,7 +229,7 @@ public class LettuceConnectionFactoryTests { @Test public void testCreateFactoryWithPool() { DefaultLettucePool pool = new DefaultLettucePool(SettingsUtils.getHost(), SettingsUtils.getPort()); - pool.setClientResources(TestClientResources.get()); + pool.setClientResources(LettuceTestClientResources.getSharedClientResources()); pool.afterPropertiesSet(); LettuceConnectionFactory factory2 = new LettuceConnectionFactory(pool); factory2.setShutdownTimeout(0); @@ -285,7 +285,7 @@ public class LettuceConnectionFactoryTests { public void dbIndexShouldBePropagatedCorrectly() { LettuceConnectionFactory factory = new LettuceConnectionFactory(); - factory.setClientResources(TestClientResources.get()); + factory.setClientResources(LettuceTestClientResources.getSharedClientResources()); factory.setDatabase(2); factory.afterPropertiesSet(); diff --git a/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionFactoryUnitTests.java b/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionFactoryUnitTests.java index 19f1da8e6..50c2dc85f 100644 --- a/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionFactoryUnitTests.java +++ b/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionFactoryUnitTests.java @@ -58,7 +58,7 @@ public class LettuceConnectionFactoryUnitTests { public void shouldInitClientCorrectlyWhenClusterConfigPresent() { LettuceConnectionFactory connectionFactory = new LettuceConnectionFactory(clusterConfig); - connectionFactory.setClientResources(TestClientResources.get()); + connectionFactory.setClientResources(LettuceTestClientResources.getSharedClientResources()); connectionFactory.afterPropertiesSet(); ConnectionFactoryTracker.add(connectionFactory); @@ -73,7 +73,7 @@ public class LettuceConnectionFactoryUnitTests { public void timeoutShouldBeSetCorrectlyOnClusterClient() { LettuceConnectionFactory connectionFactory = new LettuceConnectionFactory(clusterConfig); - connectionFactory.setClientResources(TestClientResources.get()); + connectionFactory.setClientResources(LettuceTestClientResources.getSharedClientResources()); connectionFactory.setTimeout(1000); connectionFactory.afterPropertiesSet(); ConnectionFactoryTracker.add(connectionFactory); @@ -97,7 +97,7 @@ public class LettuceConnectionFactoryUnitTests { public void passwordShouldBeSetCorrectlyOnClusterClient() { LettuceConnectionFactory connectionFactory = new LettuceConnectionFactory(clusterConfig); - connectionFactory.setClientResources(TestClientResources.get()); + connectionFactory.setClientResources(LettuceTestClientResources.getSharedClientResources()); connectionFactory.setPassword("o_O"); connectionFactory.afterPropertiesSet(); ConnectionFactoryTracker.add(connectionFactory); diff --git a/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionIntegrationTests.java b/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionIntegrationTests.java index 8c1129b79..e7990e05f 100644 --- a/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionIntegrationTests.java +++ b/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionIntegrationTests.java @@ -139,7 +139,7 @@ public class LettuceConnectionIntegrationTests extends AbstractConnectionIntegra @Test public void testClosePooledConnectionWithShared() { DefaultLettucePool pool = new DefaultLettucePool(SettingsUtils.getHost(), SettingsUtils.getPort()); - pool.setClientResources(TestClientResources.get()); + pool.setClientResources(LettuceTestClientResources.getSharedClientResources()); pool.afterPropertiesSet(); LettuceConnectionFactory factory2 = new LettuceConnectionFactory(pool); factory2.setShutdownTimeout(0); @@ -161,7 +161,7 @@ public class LettuceConnectionIntegrationTests extends AbstractConnectionIntegra @Test public void testClosePooledConnectionNotShared() { DefaultLettucePool pool = new DefaultLettucePool(SettingsUtils.getHost(), SettingsUtils.getPort()); - pool.setClientResources(TestClientResources.get()); + pool.setClientResources(LettuceTestClientResources.getSharedClientResources()); pool.afterPropertiesSet(); LettuceConnectionFactory factory2 = new LettuceConnectionFactory(pool); factory2.setShareNativeConnection(false); @@ -181,7 +181,7 @@ public class LettuceConnectionIntegrationTests extends AbstractConnectionIntegra @Test public void testCloseNonPooledConnectionNotShared() { LettuceConnectionFactory factory2 = new LettuceConnectionFactory(SettingsUtils.getHost(), SettingsUtils.getPort()); - factory2.setClientResources(TestClientResources.get()); + factory2.setClientResources(LettuceTestClientResources.getSharedClientResources()); factory2.setShutdownTimeout(0); factory2.setShareNativeConnection(false); factory2.afterPropertiesSet(); @@ -201,7 +201,7 @@ public class LettuceConnectionIntegrationTests extends AbstractConnectionIntegra @Test public void testCloseReturnBrokenResourceToPool() { DefaultLettucePool pool = new DefaultLettucePool(SettingsUtils.getHost(), SettingsUtils.getPort()); - pool.setClientResources(TestClientResources.get()); + pool.setClientResources(LettuceTestClientResources.getSharedClientResources()); pool.afterPropertiesSet(); LettuceConnectionFactory factory2 = new LettuceConnectionFactory(pool); factory2.setShutdownTimeout(0); @@ -223,7 +223,7 @@ public class LettuceConnectionIntegrationTests extends AbstractConnectionIntegra @Test public void testSelectNotShared() { DefaultLettucePool pool = new DefaultLettucePool(SettingsUtils.getHost(), SettingsUtils.getPort()); - pool.setClientResources(TestClientResources.get()); + pool.setClientResources(LettuceTestClientResources.getSharedClientResources()); pool.afterPropertiesSet(); LettuceConnectionFactory factory2 = new LettuceConnectionFactory(pool); factory2.setShutdownTimeout(0); @@ -252,7 +252,7 @@ public class LettuceConnectionIntegrationTests extends AbstractConnectionIntegra // Use a different factory to get a non-shared native conn for blocking script final LettuceConnectionFactory factory2 = new LettuceConnectionFactory(SettingsUtils.getHost(), SettingsUtils.getPort()); - factory2.setClientResources(TestClientResources.get()); + factory2.setClientResources(LettuceTestClientResources.getSharedClientResources()); factory2.setShutdownTimeout(0); factory2.afterPropertiesSet(); DefaultStringRedisConnection conn2 = new DefaultStringRedisConnection(factory2.getConnection()); @@ -282,7 +282,7 @@ public class LettuceConnectionIntegrationTests extends AbstractConnectionIntegra verifyResults(Arrays.asList(new Object[] { true })); // Lettuce does not support select when using shared conn, use a new conn factory LettuceConnectionFactory factory2 = new LettuceConnectionFactory(); - factory2.setClientResources(TestClientResources.get()); + factory2.setClientResources(LettuceTestClientResources.getSharedClientResources()); factory2.setShutdownTimeout(0); factory2.setDatabase(1); factory2.afterPropertiesSet(); diff --git a/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionPipelineIntegrationTests.java b/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionPipelineIntegrationTests.java index 045eb1162..7c6b5e16c 100644 --- a/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionPipelineIntegrationTests.java +++ b/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionPipelineIntegrationTests.java @@ -65,7 +65,7 @@ public class LettuceConnectionPipelineIntegrationTests extends AbstractConnectio // Use separate conn factory to avoid using the underlying shared native conn on blocking script final LettuceConnectionFactory factory2 = new LettuceConnectionFactory(SettingsUtils.getHost(), SettingsUtils.getPort()); - factory2.setClientResources(TestClientResources.get()); + factory2.setClientResources(LettuceTestClientResources.getSharedClientResources()); factory2.afterPropertiesSet(); DefaultStringRedisConnection conn2 = new DefaultStringRedisConnection(factory2.getConnection()); try { @@ -95,7 +95,7 @@ public class LettuceConnectionPipelineIntegrationTests extends AbstractConnectio verifyResults(Arrays.asList(new Object[] { true })); // Lettuce does not support select when using shared conn, use a new conn factory LettuceConnectionFactory factory2 = new LettuceConnectionFactory(); - factory2.setClientResources(TestClientResources.get()); + factory2.setClientResources(LettuceTestClientResources.getSharedClientResources()); factory2.setDatabase(1); factory2.afterPropertiesSet(); StringRedisConnection conn2 = new DefaultStringRedisConnection(factory2.getConnection()); diff --git a/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionTransactionIntegrationTests.java b/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionTransactionIntegrationTests.java index 6b84125a2..446fb1a87 100644 --- a/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionTransactionIntegrationTests.java +++ b/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionTransactionIntegrationTests.java @@ -46,7 +46,7 @@ public class LettuceConnectionTransactionIntegrationTests extends AbstractConnec verifyResults(Arrays.asList(new Object[] { true })); // Lettuce does not support select when using shared conn, use a new conn factory LettuceConnectionFactory factory2 = new LettuceConnectionFactory(); - factory2.setClientResources(TestClientResources.get()); + factory2.setClientResources(LettuceTestClientResources.getSharedClientResources()); factory2.setShutdownTimeout(0); factory2.setDatabase(1); factory2.afterPropertiesSet(); diff --git a/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceSentinelIntegrationTests.java b/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceSentinelIntegrationTests.java index e472c213e..029be25a1 100644 --- a/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceSentinelIntegrationTests.java +++ b/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceSentinelIntegrationTests.java @@ -58,7 +58,7 @@ public class LettuceSentinelIntegrationTests extends AbstractConnectionIntegrati public void setUp() { LettuceConnectionFactory lettuceConnectionFactory = new LettuceConnectionFactory(SENTINEL_CONFIG); - lettuceConnectionFactory.setClientResources(TestClientResources.get()); + lettuceConnectionFactory.setClientResources(LettuceTestClientResources.getSharedClientResources()); lettuceConnectionFactory.setShareNativeConnection(false); lettuceConnectionFactory.setShutdownTimeout(0); lettuceConnectionFactory.afterPropertiesSet(); diff --git a/src/test/java/org/springframework/data/redis/connection/lettuce/TestClientResources.java b/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceTestClientResources.java similarity index 67% rename from src/test/java/org/springframework/data/redis/connection/lettuce/TestClientResources.java rename to src/test/java/org/springframework/data/redis/connection/lettuce/LettuceTestClientResources.java index 77f772b5b..3570d4a4a 100644 --- a/src/test/java/org/springframework/data/redis/connection/lettuce/TestClientResources.java +++ b/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceTestClientResources.java @@ -23,44 +23,43 @@ import com.lambdaworks.redis.resource.DefaultClientResources; /** * Client-Resources suitable for testing. Uses {@link TestEventLoopGroupProvider} to preserve the event loop groups - * between tests. Every time a new {@link TestClientResources} instance is created, a + * between tests. Every time a new {@link LettuceTestClientResources} instance is created, a * {@link Runtime#addShutdownHook(Thread) shutdown hook} is added to close the client resources. * * @author Mark Paluch + * @author Christoph Strobl */ -public class TestClientResources { +public class LettuceTestClientResources { - private ClientResources resources = create(); - private final static TestClientResources instance = new TestClientResources(); + private static final ClientResources SHARED_CLIENT_RESOURCES; - /** - * Prevent instances by others. - */ - private TestClientResources() {} + static { - private ClientResources create() { - - final DefaultClientResources resources = new DefaultClientResources.Builder() + SHARED_CLIENT_RESOURCES = new DefaultClientResources.Builder() .eventLoopGroupProvider(new TestEventLoopGroupProvider()).build(); + appendShutdownHook(); + } + + private LettuceTestClientResources() {} + + private static void appendShutdownHook() { Runtime.getRuntime().addShutdownHook(new Thread() { @Override public void run() { try { - resources.shutdown(0, 0, TimeUnit.MILLISECONDS).get(1, TimeUnit.SECONDS); + SHARED_CLIENT_RESOURCES.shutdown(0, 0, TimeUnit.MILLISECONDS).get(1, TimeUnit.SECONDS); } catch (Exception o_O) { - // ignore + // ignore } } }); - - return resources; } /** * @return the client resources. */ - public static ClientResources get() { - return instance.resources; + public static ClientResources getSharedClientResources() { + return SHARED_CLIENT_RESOURCES; } } diff --git a/src/test/java/org/springframework/data/redis/connection/lettuce/TestEventLoopGroupProvider.java b/src/test/java/org/springframework/data/redis/connection/lettuce/TestEventLoopGroupProvider.java index 338abb84d..e2aee2aa7 100644 --- a/src/test/java/org/springframework/data/redis/connection/lettuce/TestEventLoopGroupProvider.java +++ b/src/test/java/org/springframework/data/redis/connection/lettuce/TestEventLoopGroupProvider.java @@ -31,16 +31,17 @@ import io.netty.util.concurrent.Promise; * {@link Runtime#addShutdownHook(Thread) shutdown hook} is added to close the resources. * * @author Mark Paluch + * @author Christoph Strobl */ class TestEventLoopGroupProvider extends DefaultEventLoopGroupProvider { - public static final int NUMBER_OF_THREADS = 10; + private static final int NUMBER_OF_THREADS = 10; - public TestEventLoopGroupProvider() { + public TestEventLoopGroupProvider() { - super(NUMBER_OF_THREADS); + super(NUMBER_OF_THREADS); - Runtime.getRuntime().addShutdownHook(new Thread() { + Runtime.getRuntime().addShutdownHook(new Thread() { @Override public void run() { try { @@ -55,7 +56,7 @@ class TestEventLoopGroupProvider extends DefaultEventLoopGroupProvider { @Override public Promise release(EventExecutorGroup eventLoopGroup, long quietPeriod, long timeout, TimeUnit unit) { - DefaultPromise result = new DefaultPromise(ImmediateEventExecutor.INSTANCE); + DefaultPromise result = new DefaultPromise(ImmediateEventExecutor.INSTANCE); result.setSuccess(true); return result; diff --git a/src/test/java/org/springframework/data/redis/connection/lettuce/TransactionalLettuceItegrationTests.java b/src/test/java/org/springframework/data/redis/connection/lettuce/TransactionalLettuceItegrationTests.java index 584fcedd2..913e8fff3 100644 --- a/src/test/java/org/springframework/data/redis/connection/lettuce/TransactionalLettuceItegrationTests.java +++ b/src/test/java/org/springframework/data/redis/connection/lettuce/TransactionalLettuceItegrationTests.java @@ -36,7 +36,7 @@ public class TransactionalLettuceItegrationTests extends AbstractTransactionalTe public LettuceConnectionFactory redisConnectionFactory() { LettuceConnectionFactory factory = new LettuceConnectionFactory(); - factory.setClientResources(TestClientResources.get()); + factory.setClientResources(LettuceTestClientResources.getSharedClientResources()); factory.setHostName("localhost"); factory.setPort(6379); return factory; diff --git a/src/test/java/org/springframework/data/redis/core/MultithreadedRedisTemplateTests.java b/src/test/java/org/springframework/data/redis/core/MultithreadedRedisTemplateTests.java index 30c9641bd..cfe63ae0d 100644 --- a/src/test/java/org/springframework/data/redis/core/MultithreadedRedisTemplateTests.java +++ b/src/test/java/org/springframework/data/redis/core/MultithreadedRedisTemplateTests.java @@ -32,7 +32,7 @@ import org.springframework.data.redis.ConnectionFactoryTracker; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.connection.jedis.JedisConnectionFactory; import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory; -import org.springframework.data.redis.connection.lettuce.TestClientResources; +import org.springframework.data.redis.connection.lettuce.LettuceTestClientResources; import org.springframework.data.redis.connection.srp.SrpConnectionFactory; /** @@ -63,7 +63,7 @@ public class MultithreadedRedisTemplateTests { jedis.afterPropertiesSet(); LettuceConnectionFactory lettuce = new LettuceConnectionFactory(); - lettuce.setClientResources(TestClientResources.get()); + lettuce.setClientResources(LettuceTestClientResources.getSharedClientResources()); lettuce.setPort(6379); lettuce.afterPropertiesSet(); diff --git a/src/test/java/org/springframework/data/redis/core/RedisClusterTemplateTests.java b/src/test/java/org/springframework/data/redis/core/RedisClusterTemplateTests.java index ff1e5be00..a0b6e554b 100644 --- a/src/test/java/org/springframework/data/redis/core/RedisClusterTemplateTests.java +++ b/src/test/java/org/springframework/data/redis/core/RedisClusterTemplateTests.java @@ -33,7 +33,7 @@ import org.springframework.data.redis.StringObjectFactory; import org.springframework.data.redis.connection.RedisClusterConfiguration; import org.springframework.data.redis.connection.jedis.JedisConnectionFactory; import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory; -import org.springframework.data.redis.connection.lettuce.TestClientResources; +import org.springframework.data.redis.connection.lettuce.LettuceTestClientResources; import org.springframework.data.redis.serializer.GenericToStringSerializer; import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer; import org.springframework.data.redis.serializer.OxmSerializer; @@ -187,7 +187,7 @@ public class RedisClusterTemplateTests extends RedisTemplateTests { LettuceConnectionFactory lettuceConnectionFactory = new LettuceConnectionFactory(new RedisClusterConfiguration( CLUSTER_NODES)); - lettuceConnectionFactory.setClientResources(TestClientResources.get()); + lettuceConnectionFactory.setClientResources(LettuceTestClientResources.getSharedClientResources()); lettuceConnectionFactory.afterPropertiesSet(); diff --git a/src/test/java/org/springframework/data/redis/core/script/lettuce/LettuceDefaultScriptExecutorTests.java b/src/test/java/org/springframework/data/redis/core/script/lettuce/LettuceDefaultScriptExecutorTests.java index 698cc66bd..0a632d179 100644 --- a/src/test/java/org/springframework/data/redis/core/script/lettuce/LettuceDefaultScriptExecutorTests.java +++ b/src/test/java/org/springframework/data/redis/core/script/lettuce/LettuceDefaultScriptExecutorTests.java @@ -20,7 +20,7 @@ import org.junit.Before; import org.springframework.data.redis.SettingsUtils; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory; -import org.springframework.data.redis.connection.lettuce.TestClientResources; +import org.springframework.data.redis.connection.lettuce.LettuceTestClientResources; import org.springframework.data.redis.core.script.AbstractDefaultScriptExecutorTests; import org.springframework.data.redis.core.script.DefaultScriptExecutor; @@ -38,7 +38,7 @@ public class LettuceDefaultScriptExecutorTests extends AbstractDefaultScriptExec public void setup() { connectionFactory = new LettuceConnectionFactory(SettingsUtils.getHost(), SettingsUtils.getPort()); - connectionFactory.setClientResources(TestClientResources.get()); + connectionFactory.setClientResources(LettuceTestClientResources.getSharedClientResources()); connectionFactory.setShutdownTimeout(0); connectionFactory.afterPropertiesSet(); } diff --git a/src/test/java/org/springframework/data/redis/listener/PubSubResubscribeTests.java b/src/test/java/org/springframework/data/redis/listener/PubSubResubscribeTests.java index fb504b270..23cde319a 100644 --- a/src/test/java/org/springframework/data/redis/listener/PubSubResubscribeTests.java +++ b/src/test/java/org/springframework/data/redis/listener/PubSubResubscribeTests.java @@ -51,7 +51,7 @@ import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.connection.jedis.JedisConnectionFactory; import org.springframework.data.redis.connection.jredis.JredisConnectionFactory; import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory; -import org.springframework.data.redis.connection.lettuce.TestClientResources; +import org.springframework.data.redis.connection.lettuce.LettuceTestClientResources; import org.springframework.data.redis.connection.srp.SrpConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate; @@ -110,7 +110,7 @@ public class PubSubResubscribeTests { // Lettuce LettuceConnectionFactory lettuceConnFactory = new LettuceConnectionFactory(); - lettuceConnFactory.setClientResources(TestClientResources.get()); + lettuceConnFactory.setClientResources(LettuceTestClientResources.getSharedClientResources()); lettuceConnFactory.setPort(port); lettuceConnFactory.setHostName(host); lettuceConnFactory.setDatabase(2); diff --git a/src/test/java/org/springframework/data/redis/listener/PubSubTestParams.java b/src/test/java/org/springframework/data/redis/listener/PubSubTestParams.java index c37999a39..d35d4ca4a 100644 --- a/src/test/java/org/springframework/data/redis/listener/PubSubTestParams.java +++ b/src/test/java/org/springframework/data/redis/listener/PubSubTestParams.java @@ -26,7 +26,7 @@ import org.springframework.data.redis.SettingsUtils; import org.springframework.data.redis.StringObjectFactory; import org.springframework.data.redis.connection.jedis.JedisConnectionFactory; import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory; -import org.springframework.data.redis.connection.lettuce.TestClientResources; +import org.springframework.data.redis.connection.lettuce.LettuceTestClientResources; import org.springframework.data.redis.connection.srp.SrpConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate; @@ -63,7 +63,7 @@ public class PubSubTestParams { // add Lettuce LettuceConnectionFactory lettuceConnFactory = new LettuceConnectionFactory(); - lettuceConnFactory.setClientResources(TestClientResources.get()); + lettuceConnFactory.setClientResources(LettuceTestClientResources.getSharedClientResources()); lettuceConnFactory.setPort(SettingsUtils.getPort()); lettuceConnFactory.setHostName(SettingsUtils.getHost()); lettuceConnFactory.afterPropertiesSet(); diff --git a/src/test/java/org/springframework/data/redis/listener/SubscriptionConnectionTests.java b/src/test/java/org/springframework/data/redis/listener/SubscriptionConnectionTests.java index bb0ce5890..033ef0bc7 100644 --- a/src/test/java/org/springframework/data/redis/listener/SubscriptionConnectionTests.java +++ b/src/test/java/org/springframework/data/redis/listener/SubscriptionConnectionTests.java @@ -38,7 +38,7 @@ import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.connection.jedis.JedisConnectionFactory; import org.springframework.data.redis.connection.jredis.JredisConnectionFactory; import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory; -import org.springframework.data.redis.connection.lettuce.TestClientResources; +import org.springframework.data.redis.connection.lettuce.LettuceTestClientResources; import org.springframework.data.redis.connection.srp.SrpConnectionFactory; import org.springframework.data.redis.listener.adapter.MessageListenerAdapter; @@ -100,7 +100,7 @@ public class SubscriptionConnectionTests { // Lettuce LettuceConnectionFactory lettuceConnFactory = new LettuceConnectionFactory(); - lettuceConnFactory.setClientResources(TestClientResources.get()); + lettuceConnFactory.setClientResources(LettuceTestClientResources.getSharedClientResources()); lettuceConnFactory.setPort(port); lettuceConnFactory.setHostName(host); lettuceConnFactory.setDatabase(2); diff --git a/src/test/java/org/springframework/data/redis/support/BoundKeyParams.java b/src/test/java/org/springframework/data/redis/support/BoundKeyParams.java index 5a9a533b3..b227fe8d2 100644 --- a/src/test/java/org/springframework/data/redis/support/BoundKeyParams.java +++ b/src/test/java/org/springframework/data/redis/support/BoundKeyParams.java @@ -23,7 +23,7 @@ import org.springframework.data.redis.StringObjectFactory; import org.springframework.data.redis.connection.jedis.JedisConnectionFactory; import org.springframework.data.redis.connection.jredis.JredisConnectionFactory; import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory; -import org.springframework.data.redis.connection.lettuce.TestClientResources; +import org.springframework.data.redis.connection.lettuce.LettuceTestClientResources; import org.springframework.data.redis.connection.srp.SrpConnectionFactory; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.support.atomic.RedisAtomicInteger; @@ -64,7 +64,7 @@ public class BoundKeyParams { // Lettuce LettuceConnectionFactory lettuceConnFactory = new LettuceConnectionFactory(); - lettuceConnFactory.setClientResources(TestClientResources.get()); + lettuceConnFactory.setClientResources(LettuceTestClientResources.getSharedClientResources()); lettuceConnFactory.setPort(SettingsUtils.getPort()); lettuceConnFactory.setHostName(SettingsUtils.getHost()); lettuceConnFactory.afterPropertiesSet(); diff --git a/src/test/java/org/springframework/data/redis/support/atomic/AtomicCountersParam.java b/src/test/java/org/springframework/data/redis/support/atomic/AtomicCountersParam.java index 962a0a4b6..229a013f1 100644 --- a/src/test/java/org/springframework/data/redis/support/atomic/AtomicCountersParam.java +++ b/src/test/java/org/springframework/data/redis/support/atomic/AtomicCountersParam.java @@ -23,7 +23,7 @@ import org.springframework.data.redis.connection.jedis.JedisConnectionFactory; import org.springframework.data.redis.connection.jredis.JredisPool; import org.springframework.data.redis.connection.jredis.JredisConnectionFactory; import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory; -import org.springframework.data.redis.connection.lettuce.TestClientResources; +import org.springframework.data.redis.connection.lettuce.LettuceTestClientResources; import org.springframework.data.redis.connection.srp.SrpConnectionFactory; /** @@ -48,7 +48,7 @@ public abstract class AtomicCountersParam { // Lettuce LettuceConnectionFactory lettuceConnFactory = new LettuceConnectionFactory(); - lettuceConnFactory.setClientResources(TestClientResources.get()); + lettuceConnFactory.setClientResources(LettuceTestClientResources.getSharedClientResources()); lettuceConnFactory.setPort(SettingsUtils.getPort()); lettuceConnFactory.setHostName(SettingsUtils.getHost()); lettuceConnFactory.afterPropertiesSet(); diff --git a/src/test/java/org/springframework/data/redis/support/collections/CollectionTestParams.java b/src/test/java/org/springframework/data/redis/support/collections/CollectionTestParams.java index 968ac7f45..b4f5c91e6 100644 --- a/src/test/java/org/springframework/data/redis/support/collections/CollectionTestParams.java +++ b/src/test/java/org/springframework/data/redis/support/collections/CollectionTestParams.java @@ -29,7 +29,7 @@ import org.springframework.data.redis.connection.jedis.JedisConnectionFactory; import org.springframework.data.redis.connection.jredis.JredisConnectionFactory; import org.springframework.data.redis.connection.jredis.JredisPool; import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory; -import org.springframework.data.redis.connection.lettuce.TestClientResources; +import org.springframework.data.redis.connection.lettuce.LettuceTestClientResources; import org.springframework.data.redis.connection.srp.SrpConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate; @@ -181,7 +181,7 @@ public abstract class CollectionTestParams { // Lettuce LettuceConnectionFactory lettuceConnFactory = new LettuceConnectionFactory(); - lettuceConnFactory.setClientResources(TestClientResources.get()); + lettuceConnFactory.setClientResources(LettuceTestClientResources.getSharedClientResources()); lettuceConnFactory.setPort(SettingsUtils.getPort()); lettuceConnFactory.setHostName(SettingsUtils.getHost()); lettuceConnFactory.afterPropertiesSet(); diff --git a/src/test/java/org/springframework/data/redis/support/collections/RedisMapTests.java b/src/test/java/org/springframework/data/redis/support/collections/RedisMapTests.java index 6eec07d9a..e61265309 100644 --- a/src/test/java/org/springframework/data/redis/support/collections/RedisMapTests.java +++ b/src/test/java/org/springframework/data/redis/support/collections/RedisMapTests.java @@ -32,7 +32,7 @@ import org.springframework.data.redis.connection.jedis.JedisConnectionFactory; import org.springframework.data.redis.connection.jredis.JredisConnectionFactory; import org.springframework.data.redis.connection.jredis.JredisPool; import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory; -import org.springframework.data.redis.connection.lettuce.TestClientResources; +import org.springframework.data.redis.connection.lettuce.LettuceTestClientResources; import org.springframework.data.redis.connection.srp.SrpConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate; @@ -167,7 +167,7 @@ public class RedisMapTests extends AbstractRedisMapTests { // Lettuce LettuceConnectionFactory lettuceConnFactory = new LettuceConnectionFactory(); - lettuceConnFactory.setClientResources(TestClientResources.get()); + lettuceConnFactory.setClientResources(LettuceTestClientResources.getSharedClientResources()); lettuceConnFactory.setHostName(SettingsUtils.getHost()); lettuceConnFactory.setPort(SettingsUtils.getPort()); lettuceConnFactory.afterPropertiesSet(); diff --git a/src/test/java/org/springframework/data/redis/support/collections/RedisPropertiesTests.java b/src/test/java/org/springframework/data/redis/support/collections/RedisPropertiesTests.java index 3706ce2c6..356110741 100644 --- a/src/test/java/org/springframework/data/redis/support/collections/RedisPropertiesTests.java +++ b/src/test/java/org/springframework/data/redis/support/collections/RedisPropertiesTests.java @@ -41,7 +41,7 @@ import org.springframework.data.redis.connection.jedis.JedisConnectionFactory; import org.springframework.data.redis.connection.jredis.JredisConnectionFactory; import org.springframework.data.redis.connection.jredis.JredisPool; import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory; -import org.springframework.data.redis.connection.lettuce.TestClientResources; +import org.springframework.data.redis.connection.lettuce.LettuceTestClientResources; import org.springframework.data.redis.connection.srp.SrpConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate; @@ -310,7 +310,7 @@ public class RedisPropertiesTests extends RedisMapTests { // Lettuce LettuceConnectionFactory lettuceConnFactory = new LettuceConnectionFactory(); - lettuceConnFactory.setClientResources(TestClientResources.get()); + lettuceConnFactory.setClientResources(LettuceTestClientResources.getSharedClientResources()); lettuceConnFactory.setPort(SettingsUtils.getPort()); lettuceConnFactory.setHostName(SettingsUtils.getHost()); lettuceConnFactory.afterPropertiesSet(); diff --git a/src/test/resources/org/springframework/data/redis/connection/lettuce/LettuceConnectionIntegrationTests-context.xml b/src/test/resources/org/springframework/data/redis/connection/lettuce/LettuceConnectionIntegrationTests-context.xml index 0e36ea937..6e7792ca5 100644 --- a/src/test/resources/org/springframework/data/redis/connection/lettuce/LettuceConnectionIntegrationTests-context.xml +++ b/src/test/resources/org/springframework/data/redis/connection/lettuce/LettuceConnectionIntegrationTests-context.xml @@ -13,8 +13,8 @@ - +