首页>代码>Springboot开发的精简博客系统 >/noteblogv4-master/src/main/java/me/wuwenbin/noteblogv4/config/application/SessionValidator.java
package me.wuwenbin.noteblogv4.config.application;

import cn.hutool.core.util.StrUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.time.LocalDateTime;
import java.util.Enumeration;

/**
 * 定时任务验证用户登录有效期
 * created by Wuwenbin on 2018/2/7 at 22:40
 *
 * @author wuwenbin
 */
@Slf4j
@Component
@EnableScheduling
public class SessionValidator {

    private final NBContext nbContext;

    @Autowired
    public SessionValidator(NBContext nbContext) {
        this.nbContext = nbContext;
    }

    @Scheduled(cron = "0 0/10 * * * ?")
    public void sessionValidate() {
        log.info("validate session in noteblog application task...");
        Enumeration<String> keys = nbContext.keys();
        while (keys.hasMoreElements()) {
            String uuid = keys.nextElement();
            NBSession session = nbContext.get(uuid);
            if (session != null) {
                if (session.isExpired()) {
                    String info = "delete session for id:[{}], at [{}]";
                    log.info(StrUtil.format(info, session.getId(), LocalDateTime.now()));
                    nbContext.removeSessionUser(uuid);
                }
            }
        }
    }

}
最近下载更多
y1214435276  LV9 9月26日
Peny_ZH  LV5 9月22日
murphy  LV7 7月3日
xunxia  LV7 6月29日
来一杯西瓜冰咩  LV6 5月13日
qiangmin1223  LV12 4月24日
xiaokang1  LV10 4月23日
zhouenyi  LV6 3月14日
admin_z  LV22 2023年12月21日
WHY-small  LV15 2023年12月20日
最近浏览更多
fei3655  LV6 10月12日
y1214435276  LV9 9月26日
Peny_ZH  LV5 9月20日
小小ffggyh  LV1 9月12日
shuilianbing  LV6 8月24日
edpwyg  LV14 7月28日
calm_z  LV2 7月4日
ji_anglw9979 7月3日
暂无贡献等级
murphy  LV7 7月2日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友