There is no session with id XXX


系統采用 shiro + redis + spring來做的權限控制系統。
 
登錄時報 there is no session with XXX 跟蹤斷點發現,系統查詢session時,查不到redis中的sessionID。
 
但是我通過redis客戶端是可以看到的。
 
所以可以斷定問題就出現在查詢代碼這一塊兒。
 
經過排查發現,我們系統中采用的是redis集群的方式部署的,但是系統查詢redis數據時用的是jedis操作類。
 
所以,我將redis的操作類(增刪改查)替換為 JedisCluster 類。
 
將所有的對redis CRUD的類都改為這個,就好了。
 
還有一種可能也會報這個錯。且網上大多數的都是因為這個原因才報的這個錯。
 
即redis和shiro 的session 與中間件的緩存名字重復。導致緩存失效。
 
貼個連接好了。
 
 
總歸就是一句話,重寫session
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM