+ upgrade to Jedis 1.5.1

+ improve tests by adding a dedicated configuration file for connections (makes it easy to change the port or host)
This commit is contained in:
Costin Leau
2011-01-07 18:56:56 +02:00
parent 9b7babcf1f
commit 138942b549
8 changed files with 79 additions and 10 deletions

View File

@@ -14,7 +14,7 @@
<properties>
<!--<jredis.ver>02112010</jredis.ver>-->
<jredis.ver>03122010</jredis.ver>
<jedis.ver>1.5.0</jedis.ver>
<jedis.ver>1.5.1</jedis.ver>
</properties>
<dependencies>

View File

@@ -58,9 +58,6 @@ public class JredisConnectionFactory implements InitializingBean, DisposableBean
* Constructs a new <code>JredisConnectionFactory</code> instance.
*/
public JredisConnectionFactory() {
ConnectionSpec newSpec = DefaultConnectionSpec.newSpec();
newSpec.setConnectionFlag(Connection.Flag.RELIABLE, false);
this.connectionSpec = newSpec;
}
/**
@@ -77,7 +74,7 @@ public class JredisConnectionFactory implements InitializingBean, DisposableBean
public void afterPropertiesSet() {
if (connectionSpec == null) {
Assert.hasText(hostName);
connectionSpec = DefaultConnectionSpec.newSpec(hostName, DEFAULT_REDIS_PORT, DEFAULT_REDIS_DB,
connectionSpec = DefaultConnectionSpec.newSpec(hostName, port, DEFAULT_REDIS_DB,
DEFAULT_REDIS_PASSWORD);
connectionSpec.setConnectionFlag(Connection.Flag.RELIABLE, false);

View File

@@ -0,0 +1,47 @@
/*
* Copyright 2010 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.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.data.keyvalue.redis;
import java.util.Properties;
/**
* @author Costin Leau
*/
public abstract class SettingsUtils {
private final static Properties DEFAULTS = new Properties();
private static final Properties SETTINGS;
static {
DEFAULTS.put("host", "localhost");
DEFAULTS.put("port", "6379");
SETTINGS = new Properties(DEFAULTS);
try {
SETTINGS.load(SettingsUtils.class.getResourceAsStream("/org/springframework/data/keyvalue/redis/test.properties"));
} catch (Exception e) {
throw new IllegalArgumentException("Cannot read settings");
}
}
public static String getHost() {
return SETTINGS.getProperty("host");
}
public static int getPort() {
return Integer.valueOf(SETTINGS.getProperty("port"));
}
}

View File

@@ -25,8 +25,8 @@ import org.junit.Before;
import org.junit.Test;
import org.springframework.data.keyvalue.redis.Address;
import org.springframework.data.keyvalue.redis.Person;
import org.springframework.data.keyvalue.redis.serializer.RedisSerializer;
import org.springframework.data.keyvalue.redis.serializer.JdkSerializationRedisSerializer;
import org.springframework.data.keyvalue.redis.serializer.RedisSerializer;
import org.springframework.data.keyvalue.redis.serializer.StringRedisSerializer;
public abstract class AbstractConnectionIntegrationTests {
@@ -81,4 +81,4 @@ public abstract class AbstractConnectionIntegrationTests {
assertNotNull(rawValue);
assertEquals(person, serializer.deserialize(rawValue));
}
}
}

View File

@@ -16,9 +16,9 @@
package org.springframework.data.keyvalue.redis.connection.jedis;
import org.springframework.data.keyvalue.redis.SettingsUtils;
import org.springframework.data.keyvalue.redis.connection.AbstractConnectionIntegrationTests;
import org.springframework.data.keyvalue.redis.connection.RedisConnectionFactory;
import org.springframework.data.keyvalue.redis.connection.jedis.JedisConnectionFactory;
public class JedisConnectionIntegrationTests extends AbstractConnectionIntegrationTests {
@@ -27,6 +27,10 @@ public class JedisConnectionIntegrationTests extends AbstractConnectionIntegrati
public JedisConnectionIntegrationTests() {
factory = new JedisConnectionFactory();
factory.setUsePool(false);
factory.setPort(SettingsUtils.getPort());
factory.setHostName(SettingsUtils.getHost());
factory.afterPropertiesSet();
}

View File

@@ -18,6 +18,7 @@ package org.springframework.data.keyvalue.redis.connection.jredis;
import org.jredis.JRedis;
import org.junit.Test;
import org.springframework.data.keyvalue.redis.SettingsUtils;
import org.springframework.data.keyvalue.redis.connection.AbstractConnectionIntegrationTests;
import org.springframework.data.keyvalue.redis.connection.RedisConnectionFactory;
@@ -27,6 +28,9 @@ public class JRedisConnectionIntegrationTests extends AbstractConnectionIntegrat
public JRedisConnectionIntegrationTests() {
factory = new JredisConnectionFactory();
factory.setPort(SettingsUtils.getPort());
factory.setHostName(SettingsUtils.getHost());
factory.setUsePool(false);
factory.afterPropertiesSet();
}

View File

@@ -19,6 +19,7 @@ import java.util.Arrays;
import java.util.Collection;
import org.springframework.data.keyvalue.redis.Person;
import org.springframework.data.keyvalue.redis.SettingsUtils;
import org.springframework.data.keyvalue.redis.connection.jedis.JedisConnectionFactory;
import org.springframework.data.keyvalue.redis.connection.jredis.JredisConnectionFactory;
import org.springframework.data.keyvalue.redis.core.RedisTemplate;
@@ -35,6 +36,10 @@ public abstract class CollectionTestParams {
JedisConnectionFactory jedisConnFactory = new JedisConnectionFactory();
jedisConnFactory.setUsePool(false);
jedisConnFactory.setPort(SettingsUtils.getPort());
jedisConnFactory.setHostName(SettingsUtils.getHost());
jedisConnFactory.afterPropertiesSet();
RedisTemplate<String, String> stringTemplate = new RedisTemplate<String, String>(jedisConnFactory);
@@ -42,6 +47,10 @@ public abstract class CollectionTestParams {
JredisConnectionFactory jredisConnFactory = new JredisConnectionFactory();
jredisConnFactory.setUsePool(false);
jredisConnFactory.setPort(SettingsUtils.getPort());
jredisConnFactory.setHostName(SettingsUtils.getHost());
jredisConnFactory.afterPropertiesSet();
RedisTemplate<String, String> stringTemplateJR = new RedisTemplate<String, String>(jredisConnFactory);

View File

@@ -20,11 +20,10 @@ import java.util.Collection;
import org.junit.runners.Parameterized.Parameters;
import org.springframework.data.keyvalue.redis.Person;
import org.springframework.data.keyvalue.redis.SettingsUtils;
import org.springframework.data.keyvalue.redis.connection.jedis.JedisConnectionFactory;
import org.springframework.data.keyvalue.redis.connection.jredis.JredisConnectionFactory;
import org.springframework.data.keyvalue.redis.core.RedisTemplate;
import org.springframework.data.keyvalue.redis.support.collections.DefaultRedisMap;
import org.springframework.data.keyvalue.redis.support.collections.RedisMap;
/**
* Integration test for RedisMap.
@@ -51,6 +50,10 @@ public class RedisMapTests extends AbstractRedisMapTests<Object, Object> {
JedisConnectionFactory jedisConnFactory = new JedisConnectionFactory();
jedisConnFactory.setUsePool(false);
jedisConnFactory.setPort(SettingsUtils.getPort());
jedisConnFactory.setHostName(SettingsUtils.getHost());
jedisConnFactory.afterPropertiesSet();
RedisTemplate<String, String> genericTemplate = new RedisTemplate<String, String>(jedisConnFactory);
@@ -58,6 +61,11 @@ public class RedisMapTests extends AbstractRedisMapTests<Object, Object> {
JredisConnectionFactory jredisConnFactory = new JredisConnectionFactory();
jredisConnFactory.setUsePool(false);
jredisConnFactory.setPort(SettingsUtils.getPort());
jredisConnFactory.setHostName(SettingsUtils.getHost());
jredisConnFactory.afterPropertiesSet();
RedisTemplate<String, String> genericTemplateJR = new RedisTemplate<String, String>(jredisConnFactory);