Acesse o pool de conexão do Redis usando Spring Data Redis
Sep 14 2020
Desejo monitorar e registrar periodicamente informações sobre o uso do pool de conexões do Redis.
Eu uso o Redis por meio do objeto RedisTemplate spring-data-redis.
Existe alguma maneira de acessar a piscina?
Respostas
Jack Sep 24 2020 at 20:52
Consegui acessar o pool interno usando a API de reflexão.
private GenericObjectPool<Jedis> jedisPool() {
try {
Field pool = JedisConnectionFactory.class.getDeclaredField("pool");
pool.setAccessible(true);
Pool<Jedis> jedisPool = (Pool<Jedis>) pool.get(jedisConnectionFactory());
Field internalPool = Pool.class.getDeclaredField("internalPool");
internalPool.setAccessible(true);
return (GenericObjectPool<Jedis>) internalPool.get(jedisPool);
} catch (NoSuchFieldException | IllegalAccessException e) {
e.printStackTrace();
}
}
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
George Harrison ficou chateado por suas letras de 'Hurdy Gurdy Man' de Donovan não terem sido usadas