自定义任务监听示例
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.sql.Connection;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;
import com.runqianapp.schedule.interfaces.AbstractTaskListener;
import com.runqianapp.schedule.model.TaskInfo;
//写记录文件,几点开始执行什么任务,几点什么任务执行完毕。
public class MyTaskListener extends AbstractTaskListener {
public static String flag;
public static String start=" 开始执行";
public static String end=" 结束执行";
@Override
//任务执行结束后打印提示信息
public void afterRun(TaskInfo ti, Map params, Connection con) {
//获取参数
String filePath = (String)params.get("filePath");
Date d = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss S");
String logresult = sdf.format(d)+" 任务:"+ti.getTaskName()+end+"\n";
flag=filePath;
System.out.println("filePath---->"+filePath);
System.out.println("end---->"+logresult);
//将信息写入文件,如果文件存在则追加
synchronized(flag){
File file = new File(filePath);
FileWriter fw=null;
try {
fw = new FileWriter(file,true);
fw.write(logresult);
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
@Override
//任务执行前打印提示信息
public void beforeRun(TaskInfo ti, Map params, Connection con) {
//获取参数
String filePath = (String)params.get("filePath");
Date d = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss S");
String logresult = sdf.format(d)+" 任务:"+ti.getTaskName()+start+"\n";
flag=filePath;
System.out.println("filePath---->"+filePath);
System.out.println("info---->"+logresult);
//将信息写入文件,如果文件存在则追加
synchronized(flag){
File file = new File(filePath);
FileWriter fw=null;
try {
fw = new FileWriter(file,true);
fw.write(logresult);
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}