Java連接Redis報(bào)錯(cuò):NoSuchElementException: Unable to validate object的解決辦法
前言
一個(gè)已經(jīng)上線的項(xiàng)目,生產(chǎn)環(huán)境的redis居然沒(méi)有設(shè)置密碼,后來(lái)因?yàn)槁┒磼呙璧臅r(shí)候發(fā)現(xiàn)了該問(wè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、檢測(cè)是否是redis持久化的問(wèn)題
在服務(wù)器連接redis,執(zhí)行ping命令,結(jié)果為:pong,排查持久化的問(wèn)題
4、確認(rèn)程序讀取到的redis密碼沒(méi)有亂碼
在程序上添加日志打印,將讀取到的redis密碼打印到日志文件
新加的日志并沒(méi)有出現(xiàn)在日志文件?。。?/p>
再次確認(rèn),已將添加過(guò)日志打印的class文件更新到了tomcat/webapps目錄下所對(duì)應(yīng)的程序上,但日志還是沒(méi)有成功打印出來(lái)?。?!
出現(xiàn)以上情況,說(shuō)明當(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í)際上是沒(méi)有成功讀取到的
redis連接時(shí)需要密碼,但程序啟動(dòng)時(shí)卻沒(méi)有帶上密碼,導(dǎo)致報(bào)錯(cuò)
解決
調(diào)整tomcat的配置文件,指向正確的目錄(或者把指向程序代碼的那項(xiàng)配置去掉,一般情況是不需要對(duì)程序代碼的讀取目錄進(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的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- mac下idea啟動(dòng)web項(xiàng)目報(bào)錯(cuò)java.net.SocketException:socket closed問(wèn)題
- 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ò):找不到或無(wú)法加載主類的解決辦法
- 解讀Java報(bào)錯(cuò)輸出的信息究竟是什么
相關(guān)文章
SpringBoot中Formatter和Converter用法和區(qū)別小結(jié)
本文主要介紹了SpringBoot中Formatter和Converter用法和區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07Nacos心跳時(shí)間配置及服務(wù)快速上下線方式
這篇文章主要介紹了Nacos心跳時(shí)間配置及服務(wù)快速上下線方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03解決spring boot創(chuàng)建項(xiàng)目遇到配置的問(wèn)題
這篇文章主要介紹了解決spring boot創(chuàng)建項(xiàng)目遇到配置的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09Java 并發(fā)編程學(xué)習(xí)筆記之Synchronized底層優(yōu)化
這篇文章主要介紹了Java 并發(fā)編程學(xué)習(xí)筆記之Synchronized底層優(yōu)化的相關(guān)資料,主要包含了重量級(jí)鎖,輕量級(jí)鎖,偏向鎖和其他優(yōu)化等方面,有需要的小伙伴可以參考下2016-05-05java中的方法重載知識(shí)點(diǎn)總結(jié)
在本篇文章里小編給大家整理了關(guān)于java中的方法重載知識(shí)點(diǎn)總結(jié),有興趣的朋友們可以跟著學(xué)習(xí)參考下。2020-02-02springboot打包部署到linux服務(wù)器的方法
這篇文章主要介紹了springboot打包部署到linux服務(wù)器的方法,通過(guò)實(shí)例代碼相結(jié)合的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-06-06SpringBoot實(shí)現(xiàn)向量數(shù)據(jù)庫(kù)優(yōu)化檢索的方案及示例
在Spring?Boot中實(shí)現(xiàn)RAG(Retrieval-Augmented?Generation)的增強(qiáng),可以從檢索優(yōu)化、生成優(yōu)化和系統(tǒng)架構(gòu)三個(gè)維度進(jìn)行改進(jìn),本文給大家介紹了具體實(shí)現(xiàn)方案及示例,需要的朋友可以參考下2025-02-02