исключение нулевого указателя в джедаях - PullRequest
0 голосов
/ 30 апреля 2020

Мой журнал полон этого исключения от Jedis, даже это информация уровня журнала, которую я не могу игнорировать

загрузка буфера для технических специалистов заняла 2942 миллисекунды: java .lang.NullPointerException at redis.clients .jedis.BinaryJedis.ping (BinaryJedis. java: 187) в redis.clients.jedis.JedisFactory.validateObject (JedisFactory. java: 152) в орг. apache .commons.pool2.impl.GenericObjectOoject. (GenericObjectPool. java: 534) в redis.clients.jedis.util.Pool.returnResourceObject (Pool. java: 68) в redis.clients.jedis.JedisPool.returnResource (JedisPool. java: 251) redis.clients.jedis.Jedis.close (Jedis. java: 3505) по адресу com.puls.availability.services.AvailabilityServiceImpl.getAvailabilityBufferPerVertical (AvailabilityServiceImpl. java: 360) по java .base / * 1024. lang.Thread.run (Thread. java: 834) java .lang.NullPointerException в redis.clients.jedis.BinaryJedis.quit (BinaryJedis. java: 255) в redis.clients.jedis.JedisFactory.destroyObject (JedisFactory. java: 99) в орг. apache .commo ns.pool2.impl.GenericObjectPool.destroy (GenericObjectPool. java: 927) в org. apache .commons.pool2.impl.GenericObjectPool.evict (GenericObjectPool. java: 768) в org. * 1033). commons.pool2.impl.BaseGenericObjectPool $ Evictor.run (BaseGenericObjectPool. java: 1138) в java .base / java .util.concurrent.Executors $ RunnableAdapter.call (Executors. java: 515 at) java .base / java .util.concurrent.FutureTask.runAndReset (FutureTask. java: 305) в java .base / java .util.concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.run (ScheduledThutor. 1043 *: 305) в java .base / java .util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor. java: 1128) в java .base / java .util.concurrent.ThreadPoolExecutor $ Worker .run (ThreadPoolExecutor. java: 628) в java .base / java .lang.Thread.run (Thread. java: 834) java .lang.NullPointerException в redis.clients.jedis. BinaryJedis.quit (BinaryJedis. java: 255) в redis.clients.jedis.JedisFactory.destroyObject (JedisFactory. java: 99) в орг. * 10 56 * .commons.pool2.impl.GenericObjectPool.destroy (GenericObjectPool. java: 927) в org. apache .commons.pool2.impl.GenericObjectPool.evict (GenericObjectPool. java: 768) или 1060 * .commons.pool2.impl.BaseGenericObjectPool $ Evictor.run (BaseGenericObjectPool. java: 1138) в java .base / java .util.concurrent.Executors $ RunnableAdapter.call (Исполнители. java: 515) в java .base / java .util.concurrent.FutureTask.runAndReset (FutureTask. java: 305) в java .base / java .util.concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.un ScheduledThreadPoolExecutor. java: 305) в java .base / java .util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor. java: 1128) в java .base / java .util.concurrent. ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor. java: 628) в java .base / java .lang.Thread.run (Thread. java: 834) java .lang.NullPointerException в redis.clients .jedis.BinaryJedis.quit (BinaryJedis. java: 255) в redis.clients.jedis.JedisFactory.destroyObject (JedisFactory. java: 99) a t org. apache .commons.pool2.impl.GenericObjectPool.destroy (GenericObjectPool. java: 927) в org. apache .commons.pool2.impl.GenericObjectPool.evict (GenericObjectPool. java 7): 7 в орг. apache .commons.pool2.impl.BaseGenericObjectPool $ Evictor.run (BaseGenericObjectPool. java: 1138) в java .base / java .util.concurrent.Executors $ RunnableAdapter.call (Исполнители. java: 515) в java .base / java .util.concurrent.FutureTask.runAndReset (FutureTask. java: 305) в java .base / java .util.concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.run (ScheduledThreadPoolExecutor. java: 305) в java .base / java .util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor. java: 1128) в java .base / * 1102. util.concurrent.ThreadPoolExecutor $ Worker. выполнить (ThreadPoolExecutor. java: 628) в java .base / java .lang.Thread.run (Thread. java: 834)

Мои конфигурации пула:

        final JedisPoolConfig poolConfig = new JedisPoolConfig();
    poolConfig.setMaxTotal(128);
    poolConfig.setMaxIdle(128);
    poolConfig.setMinIdle(16);
    poolConfig.setTestOnBorrow(true);
    poolConfig.setTestOnReturn(true);
    poolConfig.setTestWhileIdle(true);
    poolConfig.setMinEvictableIdleTimeMillis(Duration.ofSeconds(60).toMillis());
    poolConfig.setTimeBetweenEvictionRunsMillis(Duration.ofSeconds(30).toMillis());
    poolConfig.setNumTestsPerEvictionRun(3);

и это мое творение jedispool:

new JedisPool(poolConfig, host, port, 1000);

Пожалуйста, помогите мне понять, откуда оно

...