diff --git a/spring-boot-actuator/pom.xml b/spring-boot-actuator/pom.xml
index 98a781cae8..bb820b3ed4 100644
--- a/spring-boot-actuator/pom.xml
+++ b/spring-boot-actuator/pom.xml
@@ -48,11 +48,6 @@
metrics-core
true
-
- com.lambdaworks
- lettuce
- true
-
javax.servlet
javax.servlet-api
@@ -108,6 +103,11 @@
jolokia-core
true
+
+ redis.clients
+ jedis
+ true
+
ch.qos.logback
diff --git a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/repository/redis/RedisServer.java b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/repository/redis/RedisServer.java
index 003b5f91c3..2ca3732c14 100644
--- a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/repository/redis/RedisServer.java
+++ b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/repository/redis/RedisServer.java
@@ -23,7 +23,7 @@ import org.junit.rules.TestRule;
import org.junit.runner.Description;
import org.junit.runners.model.Statement;
import org.springframework.data.redis.connection.RedisConnectionFactory;
-import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
+import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
import static org.junit.Assert.fail;
@@ -36,7 +36,7 @@ public class RedisServer implements TestRule {
private static final String EXTERNAL_SERVERS_REQUIRED = "EXTERNAL_SERVERS_REQUIRED";
- protected LettuceConnectionFactory resource;
+ protected JedisConnectionFactory resource;
private final String resourceDescription = "Redis ConnectionFactory";
@@ -122,7 +122,7 @@ public class RedisServer implements TestRule {
/**
* Perform cleanup of the {@link #resource} field, which is guaranteed to be non null.
- *
+ *
* @throws Exception any exception thrown by this method will be logged and swallowed
*/
protected void cleanupResource() throws Exception {
@@ -134,8 +134,8 @@ public class RedisServer implements TestRule {
* {@link #resource} field with a valid resource and return normally, or throw an
* exception.
*/
- protected LettuceConnectionFactory obtainResource() throws Exception {
- LettuceConnectionFactory resource = new LettuceConnectionFactory();
+ protected JedisConnectionFactory obtainResource() throws Exception {
+ JedisConnectionFactory resource = new JedisConnectionFactory();
resource.afterPropertiesSet();
resource.getConnection().close();
return resource;
diff --git a/spring-boot-autoconfigure/pom.xml b/spring-boot-autoconfigure/pom.xml
index 18eb347285..2e199f400c 100644
--- a/spring-boot-autoconfigure/pom.xml
+++ b/spring-boot-autoconfigure/pom.xml
@@ -147,8 +147,8 @@
true
- com.lambdaworks
- lettuce
+ redis.clients
+ jedis
true
diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/redis/RedisAutoConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/redis/RedisAutoConfiguration.java
index 2a54a1a907..1c696f52ea 100644
--- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/redis/RedisAutoConfiguration.java
+++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/redis/RedisAutoConfiguration.java
@@ -27,25 +27,24 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingClas
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
-import org.springframework.data.redis.connection.PoolConfig;
import org.springframework.data.redis.connection.RedisConnectionFactory;
-import org.springframework.data.redis.connection.lettuce.DefaultLettucePool;
-import org.springframework.data.redis.connection.lettuce.LettuceConnection;
-import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
-import org.springframework.data.redis.connection.lettuce.LettucePool;
+import org.springframework.data.redis.connection.jedis.JedisConnection;
+import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
import org.springframework.data.redis.core.RedisOperations;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
-import com.lambdaworks.redis.RedisClient;
+import redis.clients.jedis.Jedis;
+import redis.clients.jedis.JedisPoolConfig;
/**
* {@link EnableAutoConfiguration Auto-configuration} for Spring Data's Redis support.
- *
+ *
* @author Dave Syer
+ * @author Andy Wilkinson
*/
@Configuration
-@ConditionalOnClass({ LettuceConnection.class, RedisOperations.class, RedisClient.class })
+@ConditionalOnClass({ JedisConnection.class, RedisOperations.class, Jedis.class })
@EnableConfigurationProperties
public class RedisAutoConfiguration {
@@ -59,8 +58,9 @@ public class RedisAutoConfiguration {
@Bean
@ConditionalOnMissingBean
RedisConnectionFactory redisConnectionFactory() throws UnknownHostException {
- LettuceConnectionFactory factory = new LettuceConnectionFactory(
- this.properties.getHost(), this.properties.getPort());
+ JedisConnectionFactory factory = new JedisConnectionFactory();
+ factory.setHostName(this.properties.getHost());
+ factory.setPort(this.properties.getPort());
if (this.properties.getPassword() != null) {
factory.setPassword(this.properties.getPassword());
}
@@ -80,35 +80,27 @@ public class RedisAutoConfiguration {
@ConditionalOnMissingBean
RedisConnectionFactory redisConnectionFactory() throws UnknownHostException {
if (this.properties.getPool() != null) {
- LettuceConnectionFactory factory = new LettuceConnectionFactory(
- lettucePool());
+ JedisConnectionFactory factory = new JedisConnectionFactory(
+ jedisPoolConfig());
return factory;
}
- LettuceConnectionFactory factory = new LettuceConnectionFactory(
- this.properties.getHost(), this.properties.getPort());
+ JedisConnectionFactory factory = new JedisConnectionFactory();
+ factory.setHostName(this.properties.getHost());
+ factory.setPort(this.properties.getPort());
if (this.properties.getPassword() != null) {
factory.setPassword(this.properties.getPassword());
}
return factory;
}
- @Bean
- @ConditionalOnMissingBean
- public LettucePool lettucePool() {
- return new DefaultLettucePool(this.properties.getHost(),
- this.properties.getPort(), poolConfig());
- }
-
- private PoolConfig poolConfig() {
- PoolConfig pool = new PoolConfig();
+ private JedisPoolConfig jedisPoolConfig() {
+ JedisPoolConfig config = new JedisPoolConfig();
RedisProperties.Pool props = this.properties.getPool();
- if (props != null) {
- pool.setMaxActive(props.getMaxActive());
- pool.setMaxIdle(props.getMaxIdle());
- pool.setMinIdle(props.getMinIdle());
- pool.setMaxWait(props.getMaxWait());
- }
- return pool;
+ config.setMaxActive(props.getMaxActive());
+ config.setMaxIdle(props.getMaxIdle());
+ config.setMinIdle(props.getMinIdle());
+ config.setMaxWait(props.getMaxWait());
+ return config;
}
}
diff --git a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/redis/RedisAutoConfigurationTests.java b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/redis/RedisAutoConfigurationTests.java
index 0410c8e946..b842c7ac44 100644
--- a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/redis/RedisAutoConfigurationTests.java
+++ b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/redis/RedisAutoConfigurationTests.java
@@ -20,7 +20,7 @@ import org.junit.Test;
import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration;
import org.springframework.boot.test.EnvironmentTestUtils;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
-import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
+import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
import org.springframework.data.redis.core.RedisOperations;
import org.springframework.data.redis.core.StringRedisTemplate;
@@ -51,7 +51,7 @@ public class RedisAutoConfigurationTests {
this.context.register(RedisAutoConfiguration.class,
PropertyPlaceholderAutoConfiguration.class);
this.context.refresh();
- assertEquals("foo", this.context.getBean(LettuceConnectionFactory.class)
+ assertEquals("foo", this.context.getBean(JedisConnectionFactory.class)
.getHostName());
}
diff --git a/spring-boot-dependencies/pom.xml b/spring-boot-dependencies/pom.xml
index 9db570e7af..0195d1a9df 100644
--- a/spring-boot-dependencies/pom.xml
+++ b/spring-boot-dependencies/pom.xml
@@ -65,12 +65,12 @@
2.3.2
2.3.3
3.18.1-GA
+ 2.1.0
8.1.14.v20131031
2.3
1.2.0
1.2
4.11
- 2.3.3
3.1.1
1.2.17
1.1.2
@@ -155,9 +155,9 @@
${commons-pool.version}
- com.lambdaworks
- lettuce
- ${lettuce.version}
+ redis.clients
+ jedis
+ ${jedis.version}
javax.servlet
diff --git a/spring-boot-starters/spring-boot-starter-redis/pom.xml b/spring-boot-starters/spring-boot-starter-redis/pom.xml
index 38f3000d25..0ecd8a9100 100644
--- a/spring-boot-starters/spring-boot-starter-redis/pom.xml
+++ b/spring-boot-starters/spring-boot-starter-redis/pom.xml
@@ -28,8 +28,8 @@
spring-data-redis
- com.lambdaworks
- lettuce
+ redis.clients
+ jedis