8.3.3 HttpSessionActivationListener
在分布式环境下,会用多个容器来进行负载均衡,有可能需要将session
保存起来,在容器之间传递。例如当一个容器内存不足时,会把很少用到的对象转存到其他容器上。这时候,容器就会通知所有HttpSessionActivationListener
接口的实现类来处理。
HttpSessionActivationListener
接口有两个方法,sessionDidActivate
和sessionWillPassivate
:
1 | void sessionDidActivate(HttpSessionEvent event) |
当HttpSession
被转移到其他容器之后,sessionDidActivate
方法会被调用。容器将一个HttpSessionEvent
对象作为参数传递到方法里,可以从这个HttpSessionEvent
对象获得HttpSession
。
当一个HttpSession
将要失效时,容器会调用sessionWillPassivate
方法。和sessionDidActivate
方法一样,容器将一个HttpSessionEvent
方法传递到方法里,可以从这个对象获得HttpSession
。