package com.mossle.user.scheduler; import javax.annotation.Resource; import com.mossle.user.service.AccountLockService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @Component public class AccountLockJob { private static Logger logger = LoggerFactory .getLogger(AccountLockJob.class); private boolean running; private boolean enabled = true; private AccountLockService accountLockService; // every 1 minute @Scheduled(cron = "0 * * * * ?") public void unlockFiveMinute() { if (!enabled) { return; } try { accountLockService.doUnlock(); } catch (Exception ex) { logger.error(ex.getMessage(), ex); } } // every 1 day @Scheduled(cron = "0 0 0 * * ?") public void cleanEveryNight() { if (!enabled) { return; } try { accountLockService.doClean(); } catch (Exception ex) { logger.error(ex.getMessage(), ex); } } @Resource public void setAccountLockService(AccountLockService accountLockService) { this.accountLockService = accountLockService; } @Value("${account.unlock.enabled}") public void setEnabled(boolean enabled) { this.enabled = enabled; } }