diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/cache/MemcacheCacheStorager.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/cache/MemcacheCacheStorager.java index c23a359c..b1c1e881 100644 --- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/cache/MemcacheCacheStorager.java +++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/cache/MemcacheCacheStorager.java @@ -18,7 +18,8 @@ import com.whalin.MemCached.SockIOPool; * @since JDK 1.6 * @see */ -public class MemcacheCacheStorager implements CacheStorager { +public class MemcacheCacheStorager implements + CacheStorager { private final MemCachedClient mc; @@ -29,13 +30,17 @@ public class MemcacheCacheStorager implements CacheStorager public MemcacheCacheStorager(MemcachePoolConfig poolConfig) { mc = new MemCachedClient(); poolConfig.initSocketIO(); - init(); + initializeKey(); } - private void init() { - if (!mc.keyExists(ALLKEY)) { - mc.set(ALLKEY, new HashSet()); + @SuppressWarnings("unchecked") + private Set initializeKey() { + Set all = (Set) mc.get(ALLKEY); + if (all == null) { + all = new HashSet(); + mc.set(ALLKEY, all); } + return all; } @SuppressWarnings("unchecked") @@ -44,34 +49,33 @@ public class MemcacheCacheStorager implements CacheStorager return (T) mc.get(key); } - @SuppressWarnings("unchecked") @Override public void caching(String key, T cache) { if (cache.getCreateTime() > 0l) { - mc.set(key, cache, new Date(cache.getCreateTime() + cache.getExpires() - CUTMS)); + mc.set(key, + cache, + new Date(cache.getCreateTime() + cache.getExpires() - CUTMS)); } else { mc.set(key, cache); } - Set all = (Set) mc.get(ALLKEY); + Set all = initializeKey(); all.add(key); mc.set(ALLKEY, all); } - @SuppressWarnings("unchecked") @Override public T evict(String key) { T cache = lookup(key); mc.delete(key); - Set all = (Set) mc.get(ALLKEY); + Set all = initializeKey(); all.remove(key); mc.set(ALLKEY, all); return cache; } - @SuppressWarnings("unchecked") @Override public void clear() { - Set all = (Set) mc.get(ALLKEY); + Set all = initializeKey(); for (String key : all) { mc.delete(key); } diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/HttpParams.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/HttpParams.java index 51d4eccc..6ad51e01 100644 --- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/HttpParams.java +++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/HttpParams.java @@ -39,7 +39,7 @@ public final class HttpParams { * connectTimeout = 15000,readTimeout=20000 */ public HttpParams() { - this(15000, 20000); + this(5000, 15000); } public HttpParams(int connectTimeout, int readTimeout) {