读书人

解决方案(急)

发布时间: 2012-08-13 13:21:53 作者: rapoo

求一个解决方案(急急急)
我在Tomcat启动的时候。将用户的权限从数据库查询出来封装进一个对象中了。
当用户通过Web页面修改权限时,怎么才能立即反映上去(在不启Tomcat的前提下)

我现在想到了2种: 1写一个定时Batch。半个小时执行一次,去查下数据库。然后将对象修改掉
2:就是在用户修改完权限后直接就查数据库,然后将对象改掉。


请问还有什么解决方案吗?

注:Tomcat启动时查询这是客户要求的。这个不能有变化。各位就把自己的解决方案写出来吧。

[解决办法]
用过滤器,拦截器都行,拦截每个请求。
过滤器或拦截器,去读这个权限所在的对象,满足权限才进入请求处理。
[解决办法]
每次修改完,仅更新当前修改的权限对象即可
[解决办法]

探讨

每次修改完,仅更新当前修改的权限对象即可

[解决办法]
1、如果你是单台服务可以用ehcache或者直接定义一个静态集合类,把权限直接放进去
2、如果你的服务是集群的,用分布式缓存,例如memcached、redis。

你说做定时更新,我不太赞同,因为权限这玩意很少变动的,我觉得在修改权限后,异步发起一个线程,更新缓存。。这样会好一些

读书人网 >J2EE开发

热点推荐