8.3.3 HttpSessionActivationListener

8.3.3 HttpSessionActivationListener

在分布式环境下,会用多个容器来进行负载均衡,有可能需要将session保存起来,在容器之间传递。例如当一个容器内存不足时,会把很少用到的对象转存到其他容器上。这时候,容器就会通知所有HttpSessionActivationListener接口的实现类来处理。

HttpSessionActivationListener接口有两个方法,sessionDidActivatesessionWillPassivate

1
2
void sessionDidActivate(HttpSessionEvent event)
void sessionWillPassivate(HttpSessionEvent event)

HttpSession被转移到其他容器之后,sessionDidActivate方法会被调用。容器将一个HttpSessionEvent对象作为参数传递到方法里,可以从这个HttpSessionEvent对象获得HttpSession
当一个HttpSession将要失效时,容器会调用sessionWillPassivate方法。和sessionDidActivate方法一样,容器将一个HttpSessionEvent方法传递到方法里,可以从这个对象获得HttpSession