自定义任务监听示例- 调度功能客户化-客户化文档
目录

自定义任务监听示例

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();
  }
    }
}