shiro的session缓存使用lcache(redis)
查看prev_doc加了如下配置:
# session过期时间,10年
shiro.session.cache.redis.ttl=360000000
#使用redis二级缓存
shiro.session.cache.type=lcache
看浏览器cookie的过期时间为好几十年,redis的key的过期时间的确也是十年,但是浏览器过了段时间还是会提示session失效,不知是我配置不对还是nb的bug? 望指教
shiro的session缓存使用lcache(redis)
查看prev_doc加了如下配置:
# session过期时间,10年
shiro.session.cache.redis.ttl=360000000
#使用redis二级缓存
shiro.session.cache.type=lcache
看浏览器cookie的过期时间为好几十年,redis的key的过期时间的确也是十年,但是浏览器过了段时间还是会提示session失效,不知是我配置不对还是nb的bug? 望指教
失效时间配置为:
shiro.session.cache.redis.ttl=2600000
过了不到2给小时,又超时了,奇怪的是redis里的key还在,浏览器的cookie也还在,但是就是需要重新登陆了。。。。我怀疑是个bug
日志不太好找...不知道多久才出现这种情况....
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="ehcache.xsd" updateCheck="false"
monitoring="autodetect" dynamicConfig="true" name="aabbccdd">
<diskStore path="ehcache/aabbccdd"/>
<cache name="shiro-activeSessionCache"
maxElementsInMemory="1000"
overflowToDisk="true"
eternal="true"
timeToLiveSeconds="0"
timeToIdleSeconds="0"
diskPersistent="true"
diskExpiryThreadIntervalSeconds="600"/>
<defaultCache maxElementsInMemory="10000" eternal="false"
timeToIdleSeconds="86400" timeToLiveSeconds="86400" overflowToDisk="false"
diskPersistent="false" diskExpiryThreadIntervalSeconds="120"
statistics="false" />
</ehcache>
ehcache有问题吗?
好巧,重现了
[DEBUG] 16:52:25.168 org.apache.shiro.web.servlet.SimpleCookie.readValue(SimpleCookie.java:389) - Found 'sid' cookie value [3h76fc1n32jcgrr4s3tjsvndgg]
[DEBUG] 16:52:25.177 org.nutz.plugins.cache.impl.lcache.LCache.fire(LCache.java:96) - fire channel=LCache:shiro-activeSessionCache msg=vh1udoli30jckol7naejfu3rj1:3h76fc1n32jcgrr4s3tjsvndgg
[DEBUG] 16:52:25.180 org.nutz.plugins.cache.impl.lcache.CachePubSub.onPMessage(CachePubSub.java:15) - channel=LCache:shiro-activeSessionCache, msg=vh1udoli30jckol7naejfu3rj1:3h76fc1n32jcgrr4s3tjsvndgg
[DEBUG] 16:52:25.180 org.nutz.plugins.cache.impl.lcache.LCache.fire(LCache.java:96) - fire channel=LCache:shiro-activeSessionCache msg=vh1udoli30jckol7naejfu3rj1:3h76fc1n32jcgrr4s3tjsvndgg
[DEBUG] 16:52:25.181 org.apache.shiro.web.session.mgt.DefaultWebSessionManager.onInvalidation(DefaultWebSessionManager.java:300) - Referenced session was invalid. Removing session ID cookie.
[DEBUG] 16:52:25.181 org.nutz.plugins.cache.impl.lcache.CachePubSub.onPMessage(CachePubSub.java:15) - channel=LCache:shiro-activeSessionCache, msg=vh1udoli30jckol7naejfu3rj1:3h76fc1n32jcgrr4s3tjsvndgg
[DEBUG] 16:52:25.182 org.apache.shiro.web.servlet.SimpleCookie.addCookieHeader(SimpleCookie.java:226) - Added HttpServletResponse Cookie [sid=deleteMe; Path=/; Max-Age=0; Expires=Thu, 21-Jun-2018 08:52:25 GMT]
[DEBUG] 16:52:25.183 org.nutz.mvc.impl.UrlMappingImpl.get(UrlMappingImpl.java:101) - Found mapping for [GET] path=/platform/sys/conf : SysConfController.index(SysConfController.java:42)
[DEBUG] 16:52:25.183 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'sysConfController'<class cn.budiot.app.web.modules.controllers.platform.sys.SysConfController>
[DEBUG] 16:52:25.184 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:192) - >> Load definition name=sysConfController
[DEBUG] 16:52:25.184 org.nutz.ioc.loader.combo.ComboIocLoader.printFoundIocBean(ComboIocLoader.java:226) - Found IocObject(sysConfController) in AnnotationIocLoader(packages=[cn.budiot])
[DEBUG] 16:52:25.185 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:223) - >> Make...'sysConfController'<class cn.budiot.app.web.modules.controllers.platform.sys.SysConfController>
[DEBUG] 16:52:25.185 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:65) - Save object 'sysConfController' to [app]
[DEBUG] 16:52:25.214 org.nutz.ioc.val.ReferTypeValue.get(ReferTypeValue.java:64) - name=sysConfigService not found, search for type=cn.budiot.app.sys.modules.services.SysConfigService
[DEBUG] 16:52:25.215 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get '4e7iactcuug8ir7olr7tqspupu'<interface cn.budiot.app.sys.modules.services.SysConfigService>
[DEBUG] 16:52:25.217 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'pubSubService'<class org.nutz.integration.jedis.pubsub.PubSubService>
[DEBUG] 16:52:25.219 cn.budiot.app.web.commons.processor.LogTimeProcessor.process(LogTimeProcessor.java:26) - [GET ]URI=/platform/sys/conf 36ms
[DEBUG] 16:52:25.228 org.apache.shiro.session.mgt.DefaultSessionManager.retrieveSession(DefaultSessionManager.java:218) - Unable to resolve session ID from SessionKey [org.apache.shiro.web.session.mgt.WebSessionKey@7b05bfc0]. Returning null to indicate a session could not be found.
[DEBUG] 16:52:25.229 org.nutz.mvc.impl.UrlMappingImpl.get(UrlMappingImpl.java:101) - Found mapping for [GET] path=/platform/login : SysLoginController.login(SysLoginController.java:68)
[DEBUG] 16:52:25.230 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'sysLoginController'<class cn.budiot.app.web.modules.controllers.platform.sys.SysLoginController>
[DEBUG] 16:52:25.230 org.apache.shiro.session.mgt.DefaultSessionManager.create(DefaultSessionManager.java:175) - Creating new EIS record for new session instance [org.apache.shiro.session.mgt.SimpleSession,id=null]
[DEBUG] 16:52:25.231 org.nutz.plugins.cache.impl.lcache.LCache.fire(LCache.java:96) - fire channel=LCache:shiro-activeSessionCache msg=vh1udoli30jckol7naejfu3rj1:3t1rsvetbqid2puegue4gus4gp
[DEBUG] 16:52:25.232 org.nutz.plugins.cache.impl.lcache.CachePubSub.onPMessage(CachePubSub.java:15) - channel=LCache:shiro-activeSessionCache, msg=vh1udoli30jckol7naejfu3rj1:3t1rsvetbqid2puegue4gus4gp
[DEBUG] 16:52:25.233 org.nutz.plugins.cache.impl.lcache.LCache.fire(LCache.java:96) - fire channel=LCache:shiro-activeSessionCache msg=vh1udoli30jckol7naejfu3rj1:3t1rsvetbqid2puegue4gus4gp
[DEBUG] 16:52:25.233 org.nutz.plugins.cache.impl.lcache.CachePubSub.onPMessage(CachePubSub.java:15) - channel=LCache:shiro-activeSessionCache, msg=vh1udoli30jckol7naejfu3rj1:3t1rsvetbqid2puegue4gus4gp
[DEBUG] 16:52:25.234 org.apache.shiro.web.servlet.SimpleCookie.addCookieHeader(SimpleCookie.java:226) - Added HttpServletResponse Cookie [sid=3t1rsvetbqid2puegue4gus4gp; Path=/; Max-Age=946080000; Expires=Sun, 14-Jun-2048 08:52:25 GMT; HttpOnly]
[DEBUG] 16:52:25.331 org.nutz.plugins.cache.impl.lcache.LCache.fire(LCache.java:96) - fire channel=LCache:shiro-activeSessionCache msg=vh1udoli30jckol7naejfu3rj1:3t1rsvetbqid2puegue4gus4gp
[DEBUG] 16:52:25.331 org.nutz.plugins.cache.impl.lcache.CachePubSub.onPMessage(CachePubSub.java:15) - channel=LCache:shiro-activeSessionCache, msg=vh1udoli30jckol7naejfu3rj1:3t1rsvetbqid2puegue4gus4gp
[DEBUG] 16:52:25.332 cn.budiot.app.web.commons.processor.LogTimeProcessor.process(LogTimeProcessor.java:26) - [GET ]URI=/platform/login 103ms
[DEBUG] 16:52:25.407 org.apache.shiro.web.servlet.SimpleCookie.readValue(SimpleCookie.java:389) - Found 'sid' cookie value [3t1rsvetbqid2puegue4gus4gp]
[DEBUG] 16:52:25.414 org.nutz.mvc.impl.UrlMappingImpl.get(UrlMappingImpl.java:101) - Found mapping for [GET] path=/platform/login/captcha : SysLoginController.next(SysLoginController.java:243)
[DEBUG] 16:52:25.416 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:166) - Get 'sysLoginController'<class cn.budiot.app.web.modules.controllers.platform.sys.SysLoginController>
[DEBUG] 16:52:25.460 cn.budiot.app.web.commons.processor.LogTimeProcessor.process(LogTimeProcessor.java:26) - [GET ]URI=/platform/login/captcha 45ms
[DEBUG] 16:52:27.937 org.apache.zookeeper.ClientCnxn$SendThread.readResponse(ClientCnxn.java:742) - Got ping response for sessionid: 0x100000b866c0012 after 0ms