开启多线程,shiro报错:UnknownSessionException: There is no session with id

发布时间 2023-04-27 21:57:56作者: 乐之者v

开启多线程,shiro报错:UnknownSessionException: There is no session with id.

如下所示:

org.apache.shiro.session.UnknownSessionException: There is no session with id [c8c5715ea6524f08b2ebe9fcb0566e20]
        at org.apache.shiro.session.mgt.eis.AbstractSessionDAO.readSession(AbstractSessionDAO.java:170)
        at org.apache.shiro.session.mgt.DefaultSessionManager.retrieveSessionFromDataSource(DefaultSessionManager.java:236)
        at org.apache.shiro.session.mgt.DefaultSessionManager.retrieveSession(DefaultSessionManager.java:222)
        at org.apache.shiro.session.mgt.AbstractValidatingSessionManager.doGetSession(AbstractValidatingSessionManager.java:118)
        at org.apache.shiro.session.mgt.AbstractNativeSessionManager.lookupSession(AbstractNativeSessionManager.java:148)
        at org.apache.shiro.session.mgt.AbstractNativeSessionManager.lookupRequiredSession(AbstractNativeSessionManager.java:152)
        at org.apache.shiro.session.mgt.AbstractNativeSessionManager.getAttribute(AbstractNativeSessionManager.java:249)
        at org.apache.shiro.session.mgt.DelegatingSession.getAttribute(DelegatingSession.java:141)
        at org.apache.shiro.session.ProxiedSession.getAttribute(ProxiedSession.java:121)
        at com.crland.mixc.framework.util.AppUserUtil.getShiroUser(AppUserUtil.java:90)

解决方法:
不在多线程中使用 shiro。
先用shiro获取变量值,然后在多线程使用变量值。