在大多数示例中,包括this Jedis示例,Jedis池都是在try..catch括号中创建的,我认为它就是这样的:
try(Jedis jedis = jedisPool.getResource())
{
some code
}对我来说,这是不可能的,因为我需要在仍然使用Jedis池的同时抛出错误,这取决于Redis的结果。所以对我来说这只是
Jedis jedis = jedisPool.getResource()问题是如何最好地处理对象?是jedis.disconnect吗?jedis.quit?jedis = null?
发布于 2020-01-13 00:11:17
简单的jedis.close()。请参阅Jedis - When to use returnBrokenResource()
您过去常常希望使用jedisPool.returnBrokenResource(jedis)或jedisPool.returnResource(jedis),但jedis.close()会处理它。
参见Jedis.java。
Jedis jedis = null;
try {
jedis = jedisPool.getResource();
...
}catch (JedisConnectionException e) {
...
}catch (Exception e){
...
} finally {
if (jedis != null)
jedis.close();
}https://stackoverflow.com/questions/59704500
复制相似问题