Closed sunnode closed 5 years ago
项目采用spring-boot-devtools 热部署,项目中配置了RedisSessionDAO,使用redis缓存,当认证成功,将查询出来的对象存到session中,再从session取出对象是object,将object进行转换,报java.lang.ClassCastException 不是同一个对象。 这个问题的原因是由于类加载器不同导致的,shiro-redis默认使用的是AppClassLoader,其他使用的是RestartClassLoader,网上有解决办法说是配置/META-INF/spring-devtools.properties,但是不知道如何配置。 restart.exclude.companycommonlibs=/mycorp-common-[\w-]+.jar restart.include.projectcommon=/mycorp-myproj-[\w-]+.jar 这是一个通用的配置。 如果想用springboot热部署,又想使用shiro-redis管理session,怎么解决这个问题。
请教个问题,当使用Spring boot starter时,Configuration Properties属性如何配置。在applicaiton.iml配置是无效。
请新建 resources/META-INF/spring-devtools.properties,并在其中添加这行:
resources/META-INF/spring-devtools.properties
restart.include.shiro-redis=/shiro-[\\w-\\.]+jar
即可解决问题
项目采用spring-boot-devtools 热部署,项目中配置了RedisSessionDAO,使用redis缓存,当认证成功,将查询出来的对象存到session中,再从session取出对象是object,将object进行转换,报java.lang.ClassCastException 不是同一个对象。 这个问题的原因是由于类加载器不同导致的,shiro-redis默认使用的是AppClassLoader,其他使用的是RestartClassLoader,网上有解决办法说是配置/META-INF/spring-devtools.properties,但是不知道如何配置。 restart.exclude.companycommonlibs=/mycorp-common-[\w-]+.jar restart.include.projectcommon=/mycorp-myproj-[\w-]+.jar 这是一个通用的配置。 如果想用springboot热部署,又想使用shiro-redis管理session,怎么解决这个问题。