日期:2014-05-19  浏览次数:20707 次

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

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


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

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

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

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

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

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