在一般的开发中或多或少都会遇到需要隔几分钟自动运某一个代码块或程序这样我就可以使用spring自带的定时任务了
声明:如果使用定时任务 必须要有一个方法执行入口
实现过程如下
在spring配置文件中添加task
<task:executor id="executor" pool-size="1" />
<task:scheduler id="scheduler" pool-size="1" />
<task:scheduled-tasks scheduler="scheduler">
<task:scheduled ref="synchronous_start" method="sendmsg" cron="0 0 1 * * ?" />//ref表示你要将哪个类里面的代码执行定时任务直接写名称这里会自动检测,method表示你要设置定时任务的方法,cron表示设置定时执行时间的种类 我这个设置的是没分钟触发一次具体情况可以参考下面的表达式或者百度
</task:scheduled-tasks>
接下来编写需要执行自动任务的类
package com.util;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.Date;
public class synchronous_start {
public static ResultSet rs = null;
public static PreparedStatement pstmt = null;
public void sendmsg() throws Exception {
SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
System.out.println(sf.format(new Date()));
}
}
这样一个简单的spring 定时任务就完成了 这是我之前写的 贴上来的片段 实现结果就不上传了
CRON表达式 含义
"0 0 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分每分钟一次触发
"0 0/5 14 * * ?" 每天从下午2点开始到2:55分结束每5分钟一次触发
"0 0/5 14,18 * * ?" 每天的下午2点至2:55和6点至6点55分两个时间段内每5分钟一次触发
"0 0-5 14 * * ?" 每天14:00至14:05每分钟一次触发
"0 10,44 14 ? 3 WED" 三月的每周三的14:10和14:44触发
"0 15 10 ? * MON-FRI" 每个周一、周二、周三、周四、周五的10:15触发