package net.tooan.ynpay.core.ejb.job; import net.tooan.ynpay.core.ejb.dao.user.SessionDao; import net.tooan.ynpay.core.ejb.helper.MongoDBInterceptorBean; import net.tooan.ynpay.third.jfinal.log.Logger; import javax.ejb.Schedule; import javax.ejb.Stateless; import javax.interceptor.Interceptors; /** * Created with IntelliJ IDEA. * User: Jing * Date: 13-11-22 * Time: 下午4:31 */ @Stateless @Interceptors(MongoDBInterceptorBean.class) public class CleanSession { private static final Logger logger = Logger.getLogger(CleanSession.class); private Boolean running = Boolean.FALSE; @Schedule(second = "0", minute = "*/15", hour = "*", persistent = false) public void exec() { synchronized (CleanSession.class) { if (running) { logger.info("[TimerTask] 清理过期 Session : 之前的任务还未完成,跳过"); } running = Boolean.TRUE; logger.info("[TimerTask] 清理过期 Session : 开始"); SessionDao.dao.cleanExpire(); logger.info("[TimerTask] 清理过期 Session : 完毕"); running = Boolean.FALSE; } } }