大型web工程的session管理器构想
声明:抛砖引玉,期望讨论。
如果已经有类似功能的开源框架等工具,请告知,俺做鬼也不会忘记你滴
本人负责维护一个大型web项目中的其中一个子系统,面对各种session问题,于是有了这个构想
问题:
1.对session的胡乱使用:不论是不是重要数据,都使用session保存;
2.多个子项目session重名,互相覆盖:对于那些喜欢复制/粘贴完成开发的程序员所经手的项目,尤为明显;
于是构想session管理器;
对内:
? 封装、代理现有session
? 对信息的存取增加前缀——对不同子项目,对保存的键值对中的key追加前缀,避免重名覆盖;
? 实现方案1:通过路径,前缀对外部调用人员透明;
难点,路径必须统一管理;
? 实现方案2:存取时,多传一个子项目标示,建议使用枚举;
难点,方法要改,且无法控制调用者行为;
? 实现方案3:重写session实现类;
难点,对源代码要熟悉,碰到系统jar包升级要重新挠头;
? 记录存取情况——用于统计和管理;
管理:? 绝对禁止开发人员使用session,所有对信息的存取都必须通过管理器;
? 对管理器的维护权限,只掌握在架构师或高级工程师等少数人手中