昨天分析了一晚上没找到原因,只好求助。
项目开发部署环境:
jfinal+tomcat+redis(session管理)
需求:
前端需要添加一个执行等待效里,我的实现思路是在拦截器里新开一个线程执行controller方法,方法的执行结果信息放在session里,前端不停的轮询方法是否执行完成。
问题描述:
之前session管理使用tomcat默认方式,现在改成了redis存储后该功能就出现问题了,未使用redis存储session之前是正常运行的。
我调试后发现,原因是在controllre拦截器调用invoke方法后再设置session值就无效了。
上传两张简化后的代码实现
图1:拦截器部份实现
图2:存放session的方法执行结果类
项目:JFinal