diff --git a/build.gradle b/build.gradle index 82cc1df87..4ded0dd66 100644 --- a/build.gradle +++ b/build.gradle @@ -15,6 +15,7 @@ group = 'org.springframework.data' repositories { maven { url "http://repo.springsource.org/libs-snapshot" } maven { url "http://repo.springsource.org/plugins-release" } + mavenCentral() } apply plugin: "java" diff --git a/gradle.properties b/gradle.properties index 791df65e6..922c25a68 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ slf4jVersion=1.7.5 junitVersion=4.10 jredisVersion=06052013 -jedisVersion=2.2.1 +jedisVersion=2.3.1 springVersion=3.2.6.RELEASE log4jVersion=1.2.17 version=1.2.0.BUILD-SNAPSHOT diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisConnection.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisConnection.java index 37bb08995..d26e946ad 100644 --- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisConnection.java +++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisConnection.java @@ -1,5 +1,5 @@ /* - * Copyright 2011-2013 the original author or authors. + * Copyright 2011-2014 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -66,6 +66,7 @@ import redis.clients.util.Pool; * * @author Costin Leau * @author Jennifer Hickey + * @author Christoph Strobl */ public class JedisConnection implements RedisConnection { @@ -1907,7 +1908,7 @@ public class JedisConnection implements RedisConnection { if (isPipelined() || isQueueing()) { throw new UnsupportedOperationException("zAdd of multiple fields not supported " + "in pipeline or transaction"); } - Map args = zAddArgs(tuples); + Map args = zAddArgs(tuples); try { return jedis.zadd(key, args); } catch (Exception ex) { @@ -2727,15 +2728,17 @@ public class JedisConnection implements RedisConnection { return args.toArray(new byte[args.size()][]); } - private Map zAddArgs(Set tuples) { - Map args = new HashMap(); + private Map zAddArgs(Set tuples) { + + Map args = new HashMap(); for (Tuple tuple : tuples) { - if (args.containsKey(tuple.getScore())) { - throw new UnsupportedOperationException("Bulk add of multiple elements with the same score is not supported. " - + "Add the elements individually."); + if (args.containsValue(tuple.getScore())) { + throw new UnsupportedOperationException( + "Bulk add of multiple elements with the same score is not supported. Add the elements individually."); } - args.put(tuple.getScore(), tuple.getValue()); + args.put(tuple.getValue(), tuple.getScore()); } + return args; } } diff --git a/src/test/java/org/springframework/data/redis/connection/jedis/JedisConnectionIntegrationTests.java b/src/test/java/org/springframework/data/redis/connection/jedis/JedisConnectionIntegrationTests.java index d36193e1c..1bf0cb14c 100644 --- a/src/test/java/org/springframework/data/redis/connection/jedis/JedisConnectionIntegrationTests.java +++ b/src/test/java/org/springframework/data/redis/connection/jedis/JedisConnectionIntegrationTests.java @@ -16,6 +16,14 @@ package org.springframework.data.redis.connection.jedis; +import static org.junit.Assert.*; + +import java.util.HashSet; +import java.util.Set; +import java.util.concurrent.BlockingDeque; +import java.util.concurrent.LinkedBlockingDeque; +import java.util.concurrent.TimeUnit; + import org.junit.After; import org.junit.Test; import org.junit.runner.RunWith; @@ -32,23 +40,16 @@ import org.springframework.data.redis.connection.StringRedisConnection.StringTup import org.springframework.test.annotation.IfProfileValue; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + import redis.clients.jedis.JedisPoolConfig; -import java.util.HashSet; -import java.util.Set; -import java.util.concurrent.BlockingDeque; -import java.util.concurrent.LinkedBlockingDeque; -import java.util.concurrent.TimeUnit; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; - /** * Integration test of {@link JedisConnection} * * @author Costin Leau * @author Jennifer Hickey * @author Thomas Darimont + * @author Christoph Strobl */ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration @@ -95,13 +96,16 @@ public class JedisConnectionIntegrationTests extends AbstractConnectionIntegrati @Test public void testClosePool() { + JedisPoolConfig config = new JedisPoolConfig(); - config.setMaxActive(1); - config.setMaxWait(1l); + config.setMaxTotal(1); + config.setMaxIdle(1); + JedisConnectionFactory factory2 = new JedisConnectionFactory(config); factory2.setHostName(SettingsUtils.getHost()); factory2.setPort(SettingsUtils.getPort()); factory2.afterPropertiesSet(); + RedisConnection conn2 = factory2.getConnection(); conn2.close(); factory2.getConnection(); @@ -290,13 +294,16 @@ public class JedisConnectionIntegrationTests extends AbstractConnectionIntegrati @Test public void testPoolNPE() { + JedisPoolConfig config = new JedisPoolConfig(); - config.setMaxActive(1); + config.setMaxTotal(1); + JedisConnectionFactory factory2 = new JedisConnectionFactory(config); factory2.setUsePool(true); factory2.setHostName(SettingsUtils.getHost()); factory2.setPort(SettingsUtils.getPort()); factory2.afterPropertiesSet(); + RedisConnection conn = factory2.getConnection(); try { conn.get(null); diff --git a/src/test/java/org/springframework/data/redis/connection/jedis/JedisConnectionPipelineIntegrationTests.java b/src/test/java/org/springframework/data/redis/connection/jedis/JedisConnectionPipelineIntegrationTests.java index b5cc571d0..e18a18fe9 100644 --- a/src/test/java/org/springframework/data/redis/connection/jedis/JedisConnectionPipelineIntegrationTests.java +++ b/src/test/java/org/springframework/data/redis/connection/jedis/JedisConnectionPipelineIntegrationTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2011-2013 the original author or authors. + * Copyright 2011-2014 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,7 +15,7 @@ */ package org.springframework.data.redis.connection.jedis; -import static org.junit.Assert.assertEquals; +import static org.junit.Assert.*; import java.util.Arrays; import java.util.List; @@ -38,6 +38,7 @@ import redis.clients.jedis.JedisPoolConfig; * Integration test of {@link JedisConnection} pipeline functionality * * @author Jennifer Hickey + * @author Christoph Strobl */ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration("JedisConnectionIntegrationTests-context.xml") @@ -104,9 +105,10 @@ public class JedisConnectionPipelineIntegrationTests extends AbstractConnectionP @Test // DATAREDIS-213 - Verify connection returns to pool after select public void testClosePoolPipelinedDbSelect() { + JedisPoolConfig config = new JedisPoolConfig(); - config.setMaxActive(1); - config.setMaxWait(1l); + config.setMaxTotal(1); + config.setMaxIdle(1); JedisConnectionFactory factory2 = new JedisConnectionFactory(config); factory2.setHostName(SettingsUtils.getHost()); factory2.setPort(SettingsUtils.getPort()); 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 f57603b38..0ff44df7f 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 @@ -47,6 +47,7 @@ import org.springframework.oxm.xstream.XStreamMarshaller; * @author Costin Leau * @author Jennifer Hickey * @author Thomas Darimont + * @author Christoph Strobl */ public class RedisMapTests extends AbstractRedisMapTests { @@ -94,7 +95,7 @@ public class RedisMapTests extends AbstractRedisMapTests { ObjectFactory rawFactory = new RawObjectFactory(); JedisConnectionFactory jedisConnFactory = new JedisConnectionFactory(); - jedisConnFactory.getPoolConfig().setMaxActive(defaultPoolConfig.maxActive); + jedisConnFactory.getPoolConfig().setMaxTotal(defaultPoolConfig.maxActive); jedisConnFactory.setUsePool(true); jedisConnFactory.setPort(SettingsUtils.getPort()); jedisConnFactory.setHostName(SettingsUtils.getHost()); diff --git a/template.mf b/template.mf index ae1f23753..195868385 100644 --- a/template.mf +++ b/template.mf @@ -20,8 +20,9 @@ Import-Template: org.w3c.dom.*;version="0", javax.xml.transform.*;resolution:="optional";version="0", org.jredis.*;resolution:="optional";version="[1.0.0, 2.0.0)", - redis.clients.*;resolution:="optional";version="[2.1.0, 2.1.0]", + redis.clients.*;resolution:="optional";version="[2.1.0, 2.3.0)", org.apache.commons.pool.*;resolution:="optional";version="[1.0.0, 3.0.0)", + org.apache.commons.pool2.*;resolution:="optional";version="[1.0, 2.0)", org.codehaus.jackson.*;resolution:="optional";version="[1.6, 2.0.0)", com.fasterxml.jackson.*;resolution:="optional";version="[2.0.0, 3.0.0)", org.apache.commons.beanutils.*;resolution:="optional";version=1.8.5,