From 822dee7a130955c6e515ba2d28e995a82a1b0e43 Mon Sep 17 00:00:00 2001 From: Athou Date: Tue, 8 Oct 2013 07:05:31 +0200 Subject: [PATCH] scale better, don't block when the pool is exhausted --- .../commafeed/backend/cache/RedisCacheService.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/commafeed/backend/cache/RedisCacheService.java b/src/main/java/com/commafeed/backend/cache/RedisCacheService.java index 4c6c0aca..348671a6 100644 --- a/src/main/java/com/commafeed/backend/cache/RedisCacheService.java +++ b/src/main/java/com/commafeed/backend/cache/RedisCacheService.java @@ -4,9 +4,12 @@ import java.util.List; import java.util.Set; import java.util.concurrent.TimeUnit; +import javax.annotation.PostConstruct; import javax.enterprise.context.ApplicationScoped; import javax.enterprise.inject.Alternative; +import org.apache.commons.pool.impl.GenericObjectPool; + import lombok.extern.slf4j.Slf4j; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; @@ -30,7 +33,14 @@ public class RedisCacheService extends CacheService { private static ObjectMapper mapper = new ObjectMapper(); - private JedisPool pool = new JedisPool(new JedisPoolConfig(), "localhost"); + private JedisPool pool; + + @PostConstruct + private void init() { + JedisPoolConfig config = new JedisPoolConfig(); + config.setWhenExhaustedAction(GenericObjectPool.WHEN_EXHAUSTED_GROW); + pool = new JedisPool(config, "localhost"); + } @Override public List getLastEntries(Feed feed) {