Spring HttpSessionListener进入循环

时间:2016-02-10 07:00:40

标签: java spring spring-mvc httpsession

我在项目中创建了 HttpSessionListener 。在这个监听器中,我在会话中设置了如下内容:

 public void sessionCreated(HttpSessionEvent se) {
    //some Business for access to subsiteId
    se.getSession().setAttribute("subsiteId", subsiteId);

    //set some atribute for Statistic Model
    iStatisticService.save(remoteIp, userAgent, page); 
 }

GenericSave (我的 StatisticService 扩展它)中,我想读取我在 SessionListener中设置的subsiteId 属性

((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest().getAttribute("subsiteId")

但我的应用程序陷入了循环。并再次回到我的听众! 我猜我在完全创建之前就访问了Session。 任何想法?

1 个答案:

答案 0 :(得分:0)

最后,我通过 sessionCreated 中的统计模型的set属性解决了这个问题,并将统计模型保存在 sessionDestroyed 中:

@Override
public void sessionCreated(HttpSessionEvent se) {
    //set some atribute for Statistic Model
}

@Override
public void sessionDestroyed(HttpSessionEvent se) {
    //save Statistic Model
}