
com.strategicgains.repoexpress.redis.ExpiringRedisRepository Maven / Gradle / Ivy
The newest version!
package com.strategicgains.repoexpress.redis;
import redis.clients.jedis.JedisPool;
import com.strategicgains.repoexpress.domain.ExpiringIdentifiable;
import com.strategicgains.repoexpress.event.AbstractRepositoryObserver;
/**
* This Redis repository extends RedisRepository and allows the persisted entities to set an
* expiration time. A time of -1 is used to specify that the entity should never expire.
*
* @since Aug 24, 2013
* @see AbstractRepositoryObserver
* @see RedisRepository
*/
public abstract class ExpiringRedisRepository
extends RedisRepository
{
public ExpiringRedisRepository(JedisPool jedisPool, Class extends T> entityClass)
{
super(jedisPool, entityClass);
}
@Override
public T doCreate(T item)
{
return super.doCreate(item, item.getTtlSeconds());
}
@Override
public T doUpdate(T item)
{
return super.doUpdate(item, item.getTtlSeconds());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy