Java連接Redis報錯:NoSuchElementException: Unable to validate object的解決辦法
前言
一個已經(jīng)上線的項目,生產(chǎn)環(huán)境的redis居然沒有設(shè)置密碼,后來因為漏洞掃描的時候發(fā)現(xiàn)了該問題,需要給redis加上密碼,在密碼加上之后,原本可以正常運(yùn)行的程序在連接redis的時候出現(xiàn)報錯
報錯信息
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è)置的密碼一致
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實際的運(yùn)行代碼并不在當(dāng)前tomcat的webapps目錄下,而且指向了其他的tomcat
因為redis設(shè)置了密碼,而在當(dāng)前tomcat程序的配置文件調(diào)整redis的密碼實際上是沒有成功讀取到的
redis連接時需要密碼,但程序啟動時卻沒有帶上密碼,導(dǎo)致報錯
解決
調(diào)整tomcat的配置文件,指向正確的目錄(或者把指向程序代碼的那項配置去掉,一般情況是不需要對程序代碼的讀取目錄進(jìn)行配置的)
以上就是Java連接Redis報錯:NoSuchElementException: Unable to validate object的解決辦法的詳細(xì)內(nèi)容,更多關(guān)于Java連接Redis報錯Unable to validate object的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
SpringBoot中Formatter和Converter用法和區(qū)別小結(jié)
本文主要介紹了SpringBoot中Formatter和Converter用法和區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07解決spring boot創(chuàng)建項目遇到配置的問題
這篇文章主要介紹了解決spring boot創(chuàng)建項目遇到配置的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09Java 并發(fā)編程學(xué)習(xí)筆記之Synchronized底層優(yōu)化
這篇文章主要介紹了Java 并發(fā)編程學(xué)習(xí)筆記之Synchronized底層優(yōu)化的相關(guān)資料,主要包含了重量級鎖,輕量級鎖,偏向鎖和其他優(yōu)化等方面,有需要的小伙伴可以參考下2016-05-05springboot打包部署到linux服務(wù)器的方法
這篇文章主要介紹了springboot打包部署到linux服務(wù)器的方法,通過實例代碼相結(jié)合的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2018-06-06SpringBoot實現(xiàn)向量數(shù)據(jù)庫優(yōu)化檢索的方案及示例
在Spring?Boot中實現(xiàn)RAG(Retrieval-Augmented?Generation)的增強(qiáng),可以從檢索優(yōu)化、生成優(yōu)化和系統(tǒng)架構(gòu)三個維度進(jìn)行改進(jìn),本文給大家介紹了具體實現(xiàn)方案及示例,需要的朋友可以參考下2025-02-02