Java連接Redis報(bào)錯(cuò):NoSuchElementException: Unable to validate object的解決辦法
前言
一個(gè)已經(jīng)上線的項(xiàng)目,生產(chǎn)環(huán)境的redis居然沒有設(shè)置密碼,后來因?yàn)槁┒磼呙璧臅r(shí)候發(fā)現(xiàn)了該問題,需要給redis加上密碼,在密碼加上之后,原本可以正常運(yùn)行的程序在連接redis的時(shí)候出現(xiàn)報(bào)錯(cuò)
報(bào)錯(cuò)信息
redis.clients.jedis.exceptions.JedisException: Could not get a resource from the pool at redis.clients.util.Pool.getResource(Pool.java:51) at redis.clients.jedis.JedisPool.getResource(JedisPool.java:226) at com.xxx.util.JedisUtils.getJedis(JedisUtils.java:85) at com.xxx.itr.thread.JedisConsumeThread.run(JedisConsumeThread.java:76) Caused by: java.util.NoSuchElementException: Unable to validate object at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:506) at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:363) at redis.clients.util.Pool.getResource(Pool.java:49) ... 3 more
排查
1、確認(rèn)redis密碼設(shè)置是否有效
在服務(wù)器連接redis,并使用auth命令輸入登錄密碼,成功登錄
2、確認(rèn)程序配置文件,是否配置了正確的redis登錄密碼
redis密碼與實(shí)際設(shè)置的密碼一致
3、檢測是否是redis持久化的問題
在服務(wù)器連接redis,執(zhí)行ping命令,結(jié)果為:pong,排查持久化的問題

4、確認(rèn)程序讀取到的redis密碼沒有亂碼
在程序上添加日志打印,將讀取到的redis密碼打印到日志文件
新加的日志并沒有出現(xiàn)在日志文件?。?!
再次確認(rèn),已將添加過日志打印的class文件更新到了tomcat/webapps目錄下所對應(yīng)的程序上,但日志還是沒有成功打印出來?。?!
出現(xiàn)以上情況,說明當(dāng)前tomcat運(yùn)行的并不是tomcat/webapps下的代碼
檢查tomcat配置,發(fā)現(xiàn)以下配置

原因
因配置原因,導(dǎo)致tomcat實(shí)際的運(yùn)行代碼并不在當(dāng)前tomcat的webapps目錄下,而且指向了其他的tomcat
因?yàn)閞edis設(shè)置了密碼,而在當(dāng)前tomcat程序的配置文件調(diào)整redis的密碼實(shí)際上是沒有成功讀取到的
redis連接時(shí)需要密碼,但程序啟動(dòng)時(shí)卻沒有帶上密碼,導(dǎo)致報(bào)錯(cuò)
解決
調(diào)整tomcat的配置文件,指向正確的目錄(或者把指向程序代碼的那項(xiàng)配置去掉,一般情況是不需要對程序代碼的讀取目錄進(jìn)行配置的)
以上就是Java連接Redis報(bào)錯(cuò):NoSuchElementException: Unable to validate object的解決辦法的詳細(xì)內(nèi)容,更多關(guān)于Java連接Redis報(bào)錯(cuò)Unable to validate object的資料請關(guān)注腳本之家其它相關(guān)文章!
- mac下idea啟動(dòng)web項(xiàng)目報(bào)錯(cuò)java.net.SocketException:socket closed問題
- Java異常報(bào)錯(cuò):java.nio.file.FileSystemException的多種解決方案
- Java報(bào)錯(cuò)net.dean.jraw.http.NetworkException異常的原因及解決方法
- Java報(bào)錯(cuò):Java.io.FileNotFoundException解決方法
- Java報(bào)錯(cuò):找不到或無法加載主類的解決辦法
- 解讀Java報(bào)錯(cuò)輸出的信息究竟是什么
相關(guān)文章
Java中int與Integer的區(qū)別詳解及常見問題解決
在Java編程語言中int和Integer雖然都用于表示數(shù)值,但它們之間存在著顯著的區(qū)別,這篇文章主要介紹了Java中int與Integer的區(qū)別詳解及常見問題的相關(guān)資料,需要的朋友可以參考下2025-07-07
淺析Java?NIO?直接緩沖區(qū)和非直接緩沖區(qū)
本篇文章主要為大家介紹了Java?NIO?中直接緩沖區(qū)和非直接緩沖區(qū)的定義以及使用流程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-11-11
Java中兩個(gè)List之間的比較方法(差集、交集和并集)
在業(yè)務(wù)的開發(fā)過程中會(huì)經(jīng)常用到兩個(gè)List集合相互取值的情況,下面這篇文章主要給大家介紹了關(guān)于Java中兩個(gè)List之間的比較方法,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06
詳解Spring 基于 Aspect 注解的增強(qiáng)實(shí)現(xiàn)
本篇文章主要介紹了詳解Spring 基于 Aspect 注解的增強(qiáng)實(shí)現(xiàn),非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-04-04
SpringBoot?AOP+Redis實(shí)現(xiàn)延時(shí)雙刪功能的實(shí)戰(zhàn)指南
這篇文章主要為大家詳細(xì)介紹了SpringBoot?AOP如何結(jié)合Redis實(shí)現(xiàn)延時(shí)雙刪功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2025-07-07
spring?jpa集成依賴的環(huán)境準(zhǔn)備及實(shí)體類倉庫編寫教程
這篇文章主要為大家介紹了spring?jpa集成依賴的環(huán)境準(zhǔn)備及實(shí)體類倉庫編寫教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03
IDEA2019.2.2配置Maven3.6.2打開出現(xiàn)Unable to import Maven project
這篇文章主要介紹了IDEA2019.2.2配置Maven3.6.2打開出現(xiàn)Unable to import Maven project,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
Netty分布式NioEventLoop優(yōu)化selector源碼解析
這篇文章主要介紹了Netty分布式NioEventLoop優(yōu)化selector源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03
淺談java并發(fā)之計(jì)數(shù)器CountDownLatch
CountDownLatch是通過一個(gè)計(jì)數(shù)器來實(shí)現(xiàn)的,當(dāng)我們在new 一個(gè)CountDownLatch對象的時(shí)候需要帶入該計(jì)數(shù)器值,該值就表示了線程的數(shù)量。下面我們來深入了解一下吧2019-06-06

