定时器JAVA、springBoot


import com.sinoup.model.Result; import com.sinoup.service.impl.KunlunSpTableImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import org.springframework.stereotype.Controller; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date;
/** * @Title: * @ProjectName * @Description: TODO * @author: TongSiYu * @date 2020-6-8 10:44 */ @Component @Controller public class MyTask { @Autowired private KunlunSpTableImpl ikunlunsptableservice; @Scheduled(cron = "${cron.timer}") public void run() { try { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");//设置日期格式 String time = df.format(new Date()); Calendar rightNow = Calendar.getInstance(); SimpleDateFormat df2 = new SimpleDateFormat("yyyy-MM");//设置日期格式 rightNow.setTime(df.parse(df2.format(df2.parse(time)) + "-01")); rightNow.add(Calendar.MONTH, 1);//当前月+1 rightNow.add(Calendar.DAY_OF_MONTH, -1);//当前日-1 Date dt1 = rightNow.getTime(); String ultimate = df.format(dt1);//月末 System.out.println(df.format(dt1)); // 当前日期等于月末或者当前天等于15 if (time.equals(ultimate) || time.split("-")[2].equals("15")) { // 创建批次 Result vo = ikunlunsptableservice.queryZdnew(); System.out.println(vo.getMessage()); } } catch (Exception e) { e.printStackTrace(); } System.out.println("每日任务已执行"); } }

在application.properties中添加

cron.timer=  0 0/1 * * * ?

定时器执行时间配置

"0/10 * * * * ?" 每10秒触发 
"0 0 12 * * ?" 每天中午12点触发 
"0 15 10 ? * *" 每天上午10:15触发 
"0 15 10 * * ?" 每天上午10:15触发 
"0 15 10 * * ? *" 每天上午10:15触发 
"0 15 10 * * ? 2005" 2005年的每天上午10:15触发 
"0 * 14 * * ?" 在每天下午2点到下午2:59期间的每1分钟触发 
"0 0/5 14 * * ?" 在每天下午2点到下午2:55期间的每5分钟触发 
"0 0/5 14,18 * * ?" 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发 
"0 0-5 14 * * ?" 在每天下午2点到下午2:05期间的每1分钟触发 
"0 10,44 14 ? 3 WED" 每年三月的星期三的下午2:10和2:44触发 
"0 15 10 ? * MON-FRI" 周一至周五的上午10:15触发 
"0 15 10 15 * ?" 每月15日上午10:15触发 
"0 15 10 L * ?" 每月最后一日的上午10:15触发 
"0 15 10 ? * 6L" 每月的最后一个星期五上午10:15触发 
"0 15 10 ? * 6L 2002-2005" 2002年至2005年的每月的最后一个星期五上午10:15触发 
"0 15 10 ? * 6#3" 每月的第三个星期五上午10:15触发   

 

posted @ 2020-06-09 09:08  铜丝儿  阅读(423)  评论(0编辑  收藏  举报