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