鉴于@RestController如此:
@RestController
@Scope("session")
public class MyController {
@PreDestroy
public void onSessionDestroyed() {
// clean stuff up...
}
}
Run Code Online (Sandbox Code Playgroud)
onSessionDestroyed()会话到期时会被调用吗?
是的,您的@PreDestroy注释方法将在会话到期时调用.不调用@PreDestroy注释方法的唯一范围是Prototype范围.
编辑:添加更多有关其工作原理的细节 -
会话范围由SessionScope具有registerDestructionCallback内部方法的类 处理.现在,通过一个HttpSessionBindingListener触发此回调DestructionCallbackBindingListener,该HttpSessionBindingListener侦听会话到期并触发@PostDestroy对相关作用域bean的方法的调用.
| 归档时间: |
|
| 查看次数: |
1757 次 |
| 最近记录: |