RedisOperationsSessionRepository doesn't expose ExpirationRedisOperations

Fixes gh-91
This commit is contained in:
Rob Winch
2015-01-05 14:50:05 -06:00
parent d2639570bb
commit 1e56874338
4 changed files with 18 additions and 32 deletions

View File

@@ -155,20 +155,18 @@ public class RedisOperationsSessionRepository implements SessionRepository<Redis
*/
@SuppressWarnings("unchecked")
public RedisOperationsSessionRepository(RedisConnectionFactory redisConnectionFactory) {
this(createDefaultTemplate(redisConnectionFactory), createDefaultTemplate(redisConnectionFactory));
this(createDefaultTemplate(redisConnectionFactory));
}
/**
* Creates a new instance. For an example, refer to the class level javadoc.
*
* @param sessionRedisOperations The {@link RedisOperations} to use for managing the sessions. Cannot be null.
* @param expirationRedisOperations The {@link RedisOperations} to use for managing expiration mappings. Cannot be null.
*/
public RedisOperationsSessionRepository(RedisOperations<String, ExpiringSession> sessionRedisOperations, RedisOperations<String,String> expirationRedisOperations) {
public RedisOperationsSessionRepository(RedisOperations<String, ExpiringSession> sessionRedisOperations) {
Assert.notNull(sessionRedisOperations, "sessionRedisOperations cannot be null");
Assert.notNull(expirationRedisOperations, "expirationRedisOperations cannot be null");
this.sessionRedisOperations = sessionRedisOperations;
this.expirationPolicy = new RedisSessionExpirationPolicy(sessionRedisOperations, expirationRedisOperations);
this.expirationPolicy = new RedisSessionExpirationPolicy(sessionRedisOperations);
}
/**

View File

@@ -58,11 +58,10 @@ final class RedisSessionExpirationPolicy {
private final RedisOperations<String,String> expirationRedisOperations;
public RedisSessionExpirationPolicy(
RedisOperations<String, ExpiringSession> sessionRedisOperations,
RedisOperations<String, String> expirationRedisOperations) {
RedisOperations sessionRedisOperations) {
super();
this.sessionRedisOperations = sessionRedisOperations;
this.expirationRedisOperations = expirationRedisOperations;
this.expirationRedisOperations = sessionRedisOperations;
}
public void onDelete(ExpiringSession session) {

View File

@@ -93,17 +93,8 @@ public class RedisHttpSessionConfiguration implements ImportAware, BeanClassLoad
}
@Bean
public RedisTemplate<String,String> expirationRedisTemplate(RedisConnectionFactory connectionFactory) {
RedisTemplate<String, String> template = new RedisTemplate<String, String>();
template.setKeySerializer(new StringRedisSerializer());
template.setHashKeySerializer(new StringRedisSerializer());
template.setConnectionFactory(connectionFactory);
return template;
}
@Bean
public RedisOperationsSessionRepository sessionRepository(RedisTemplate<String, ExpiringSession> sessionRedisTemplate, @Qualifier("expirationRedisTemplate") RedisTemplate<String,String> expirationRedisTemplate) {
RedisOperationsSessionRepository sessionRepository = new RedisOperationsSessionRepository(sessionRedisTemplate,expirationRedisTemplate);
public RedisOperationsSessionRepository sessionRepository(RedisTemplate<String, ExpiringSession> sessionRedisTemplate) {
RedisOperationsSessionRepository sessionRepository = new RedisOperationsSessionRepository(sessionRedisTemplate);
sessionRepository.setDefaultMaxInactiveInterval(maxInactiveIntervalInSeconds);
return sessionRepository;
}