首页>代码>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);
                }
            }
        }
    }

}
最近下载更多
yayacui  LV2 10月28日
angaochong  LV5 10月23日
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日
最近浏览更多
krispeng  LV13 昨天
xianyu091012  LV4 11月18日
12347658  LV1 11月13日
yayacui  LV2 10月28日
喜欢夜雨吗  LV4 10月25日
angaochong  LV5 10月23日
栾庆浩 10月23日
暂无贡献等级
Wa55uh 10月23日
暂无贡献等级
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友