diff --git a/src/main/java/org/springframework/data/redis/connection/DefaultStringRedisConnection.java b/src/main/java/org/springframework/data/redis/connection/DefaultStringRedisConnection.java index 28392d72d..ae78072a2 100644 --- a/src/main/java/org/springframework/data/redis/connection/DefaultStringRedisConnection.java +++ b/src/main/java/org/springframework/data/redis/connection/DefaultStringRedisConnection.java @@ -56,7 +56,7 @@ public class DefaultStringRedisConnection implements StringRedisConnection { private Queue pipelineConverters = new LinkedList(); @SuppressWarnings("rawtypes") private Queue txConverters = new LinkedList(); - private boolean deserializePipelineAndTxResults = true; + private boolean deserializePipelineAndTxResults = false; private IdentityConverter identityConverter = new IdentityConverter(); private class DeserializingConverter implements Converter { diff --git a/src/main/java/org/springframework/data/redis/core/StringRedisTemplate.java b/src/main/java/org/springframework/data/redis/core/StringRedisTemplate.java index 260501a94..0c06f5fdb 100644 --- a/src/main/java/org/springframework/data/redis/core/StringRedisTemplate.java +++ b/src/main/java/org/springframework/data/redis/core/StringRedisTemplate.java @@ -34,8 +34,6 @@ import org.springframework.data.redis.serializer.StringRedisSerializer; */ public class StringRedisTemplate extends RedisTemplate { - private boolean deserializePipelineAndTxResults = true; - /** * Constructs a new StringRedisTemplate instance. * {@link #setConnectionFactory(RedisConnectionFactory)} and {@link #afterPropertiesSet()} still need to be called. @@ -60,20 +58,7 @@ public class StringRedisTemplate extends RedisTemplate { afterPropertiesSet(); } - /** - * Specifies if pipelined and tx results should be deserialized to Strings. - * If false, results of {@link StringRedisConnection#closePipeline()} and {@link StringRedisConnection#exec()} - * will be of the type returned by the underlying connection - * - * @param deserializePipelineAndTxResults Whether or not to deserialize pipeline and tx results - */ - public void setDeserializePipelineAndTxResults(boolean deserializePipelineAndTxResults) { - this.deserializePipelineAndTxResults = deserializePipelineAndTxResults; - } - protected RedisConnection preProcessConnection(RedisConnection connection, boolean existingConnection) { - DefaultStringRedisConnection stringConn = new DefaultStringRedisConnection(connection); - stringConn.setDeserializePipelineAndTxResults(deserializePipelineAndTxResults); - return stringConn; + return new DefaultStringRedisConnection(connection); } } \ No newline at end of file diff --git a/src/test/java/org/springframework/data/redis/connection/AbstractConnectionIntegrationTests.java b/src/test/java/org/springframework/data/redis/connection/AbstractConnectionIntegrationTests.java index f13a71130..ec712497e 100644 --- a/src/test/java/org/springframework/data/redis/connection/AbstractConnectionIntegrationTests.java +++ b/src/test/java/org/springframework/data/redis/connection/AbstractConnectionIntegrationTests.java @@ -88,6 +88,7 @@ public abstract class AbstractConnectionIntegrationTests { public void setUp() { byteConnection = connectionFactory.getConnection(); connection = new DefaultStringRedisConnection(byteConnection); + ((DefaultStringRedisConnection)connection).setDeserializePipelineAndTxResults(true); initConnection(); } diff --git a/src/test/java/org/springframework/data/redis/connection/DefaultStringRedisConnectionPipelineTests.java b/src/test/java/org/springframework/data/redis/connection/DefaultStringRedisConnectionPipelineTests.java index 9e785c854..05a84c669 100644 --- a/src/test/java/org/springframework/data/redis/connection/DefaultStringRedisConnectionPipelineTests.java +++ b/src/test/java/org/springframework/data/redis/connection/DefaultStringRedisConnectionPipelineTests.java @@ -37,6 +37,7 @@ public class DefaultStringRedisConnectionPipelineTests extends DefaultStringRedi @Before public void setUp() { super.setUp(); + connection.setDeserializePipelineAndTxResults(true); when(nativeConnection.isPipelined()).thenReturn(true); } diff --git a/src/test/java/org/springframework/data/redis/connection/DefaultStringRedisConnectionTxTests.java b/src/test/java/org/springframework/data/redis/connection/DefaultStringRedisConnectionTxTests.java index 1bfd0d76d..a04ddb9ec 100644 --- a/src/test/java/org/springframework/data/redis/connection/DefaultStringRedisConnectionTxTests.java +++ b/src/test/java/org/springframework/data/redis/connection/DefaultStringRedisConnectionTxTests.java @@ -16,6 +16,7 @@ public class DefaultStringRedisConnectionTxTests extends DefaultStringRedisConne @Before public void setUp() { super.setUp(); + connection.setDeserializePipelineAndTxResults(true); when(nativeConnection.isQueueing()).thenReturn(true); } diff --git a/src/test/java/org/springframework/data/redis/core/StringRedisTemplateTests.java b/src/test/java/org/springframework/data/redis/core/StringRedisTemplateTests.java index 68f0f5683..3b310d747 100644 --- a/src/test/java/org/springframework/data/redis/core/StringRedisTemplateTests.java +++ b/src/test/java/org/springframework/data/redis/core/StringRedisTemplateTests.java @@ -19,7 +19,6 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.springframework.data.redis.SpinBarrier.waitFor; -import java.util.List; import java.util.concurrent.TimeUnit; import org.junit.After; @@ -112,38 +111,4 @@ public class StringRedisTemplateTests { }); assertEquals(value,"it"); } - - @Test - public void testStringTemplateExecutePipelineResultsConverted() { - String result = redisTemplate.execute(new RedisCallback() { - public String doInRedis(RedisConnection connection) { - StringRedisConnection stringConn = (StringRedisConnection) connection; - stringConn.openPipeline(); - stringConn.set("foo", "bar"); - stringConn.get("foo"); - List results = stringConn.closePipeline(); - return (String) results.get(0); - } - }); - assertEquals("bar",result); - } - - @Test - public void testStringTemplateExecutePipelineResultsNotConverted() { - final StringRedisTemplate template2 = new StringRedisTemplate(redisTemplate.getConnectionFactory()); - template2.setDeserializePipelineAndTxResults(false); - template2.afterPropertiesSet(); - String result = template2.execute(new RedisCallback() { - public String doInRedis(RedisConnection connection) { - StringRedisConnection stringConn = (StringRedisConnection) connection; - stringConn.openPipeline(); - stringConn.set("foo", "bar"); - stringConn.get("foo"); - List results = stringConn.closePipeline(); - // Results should be in byte[], not deserialized to String - return template2.getStringSerializer().deserialize((byte[]) results.get(0)); - } - }); - assertEquals("bar",result); - } }