Spring HttpSessionListener 陷入循环

Spring HttpSessionListener falls in loop

我在我的项目中创建了一个 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 扩展它)中,我想读取 subsiteId Attribute 我已经在 SessionListener:

中设置了
((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest().getAttribute("subsiteId")

但是我的应用陷入了循环。再次回到我的听众身边! 我想我在 Session 完全创建之前访问它。 有什么想法吗?

最后,我通过在sessionCreated中设置Statistic Model的属性并在sessionDestroyed中保存Statistic Model来解决这个问题:

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

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