Skip to content

Commit

Permalink
changes on redis
Browse files Browse the repository at this point in the history
  • Loading branch information
rjyo committed Nov 28, 2011
1 parent 26839df commit 0e024aa
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 4 deletions.
20 changes: 16 additions & 4 deletions core/src/main/java/h2weibo/model/DBHelperFactory.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,16 @@

package h2weibo.model;

import org.apache.log4j.Logger;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.exceptions.JedisException;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;

public class DBHelperFactory {
private static final Logger log = Logger.getLogger(DBHelperFactory.class.getName());


private static class JedisInvocationHandler implements InvocationHandler {
Expand All @@ -33,10 +36,19 @@ public JedisInvocationHandler(DBHelperImpl helper) {
}

public Object invoke(Object o, Method method, Object[] args) throws Throwable {
helper.prepareJedis();
Object result = method.invoke(helper, args);
helper.returnJedis();
return result;
try {
helper.prepareJedis();
Object result = method.invoke(helper, args);
helper.returnJedis();
return result;
} catch (JedisException e) {
log.error(e);
log.info("Trying to recover Jedis connection");
helper.returnBrokenJedis();
Object result = method.invoke(helper, args);
helper.returnJedis();
return result;
}
}
}

Expand Down
6 changes: 6 additions & 0 deletions core/src/main/java/h2weibo/model/DBHelperImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,12 @@ void returnJedis() {
jedis = null;
}

void returnBrokenJedis() {
log.debug("Return borken Jedis");
pool.returnBrokenResource(jedis);
jedis = null;
}

public Set<String> getAuthorizedIds() {
return jedis.smembers(USER_SET_KEY);
}
Expand Down
13 changes: 13 additions & 0 deletions web/src/main/webapp/WEB-INF/v/layout/layout.vm
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,17 @@

</body>

<script type="text/javascript">
var _gauges = _gauges || [];
(function() {
var t = document.createElement('script');
t.type = 'text/javascript';
t.async = true;
t.id = 'gauges-tracker';
t.setAttribute('data-site-id', '4ecbc293613f5d1d57000005');
t.src = '//secure.gaug.es/track.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(t, s);
})();
</script>
</html>

0 comments on commit 0e024aa

Please sign in to comment.