tomcat 7、サーブレット3.0、春のソーシャルで春のmvc3を使用して、クラスでセッションをリッスンします。
public class AClass implements ApplicationContextAware, HttpSessionListener{
...
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
this.applicationContext = applicationContext;
if (applicationContext instanceof WebApplicationContext) {
((WebApplicationContext) applicationContext).getServletContext().addListener(this);
}
public void sessionCreated(HttpSessionEvent se) {
System.out.println("session created");
}
public void sessionDestroyed(HttpSessionEvent se){
System.out.println("session destroyed");
}
...
}
そして、web.xmlでsession-timeoutを1分に設定しました(正しく機能していると確信しています)。ページを開くと、「sessioncreated」メッセージが表示されますが「sessiondestroyed」は表示されません。1分後にページを更新すると、セッションが期限切れになっていることを示す「セッションが作成されました」というメッセージが再度表示されます。
だから問題は私が間違っているのは何ですか?sessionDestroyedメソッドは、セッションが期限切れになったときに通知するべきではありませんか?