У меня есть метод @Scheduled, который запускается без проблем при сборке приложения Spring Boot с использованием встроенного tomcat.Но когда я строю свой проект в .war и развертываю его с помощью tomcat v8, кажется, что планировщик не запускается.Другие функции работают отлично, только этот планировщик не запускается на моем сервере.
@Component
public class DeleteUser {
@Autowired
private UserService userService;
@Autowired
private UserAuthoritiesService userAuthService;
private static final Logger logger = LoggerFactory.getLogger(DeleteUser.class);
private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
//(cron="second, minute, hour, day of month, month, day(s) of week")
@Scheduled(cron="0 0 8 * * *", zone="Asia/Kuala_Lumpur")
public void schedulerDeleteUser() {
List<User> ls = userService.getAllInactiveUser3Day(new Date());
try {
if(ls.size()>0) {
for(User user: ls) {
userService.updateStatusAccount(false, user.getId());
}
}
}
catch(Exception e) {
logger.error(e.getMessage());
}
logger.info("Scheduler run at {}", dateFormat.format(new Date()));
}
}