首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Request和Response的线程安全有关问题的另一个解决方案

2012-11-01 
Request和Response的线程安全问题的另一个解决方案Zigzag Chen的Swato框架提供了RequestAware和SessionAwa

Request和Response的线程安全问题的另一个解决方案
Zigzag Chen的Swato框架提供了RequestAware和SessionAware接口,如果你的service需要访问Request或Response对象,需要实现RequestAware或SessionAware.在Swato的JSONServlet中调用你的service的setRequest, setResponse, setSession等之类的方法把Request, Response, Session注入 -- 但你的service自身需要解决线程安全问题,我原先的解决方案是,在service中整个Map,实现sessionId到Request, Response, Session的映射,这样每个session对应map中的一个entry,就不用担心不同线程的Request, Response, Session之间的相互覆盖问题了。
最近对代码进行了一番重构,总感觉这种线程安全问题的解决方案不够优雅。
看过JForum的源代码,从他那里学了一招,于是一种更优雅的解决方案产生了:



有了这个Context,只需要在JSONServlet先调

private ExecutionContext(){}

热点排行