下载超过120秒会执行tracert (windows)
public class SchedulerTask {
public static Logger log = Logger.getLogger(SchedulerTask.class);
/**
*
* @throws Exception
*/
public void startSchedule() throws Exception {
// 调度类
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
// 任务1
JobDetail jobDetail = new JobDetail("testJob", "group1", MyTask.class);
CronTrigger cronTrigger = new CronTrigger("cronTrigger", "group1");
// 得到配置文件的定时信息
try {
CronExpression cexp = new CronExpression(MyStringUtils.TIME);
cronTrigger.setCronExpression(cexp);
} catch (ParseException pe) {
log.info("请确认config.properties配置文件中schedulTime字段格式!!");
System.exit(0);
}
scheduler.scheduleJob(jobDetail, cronTrigger);
scheduler.start();
}
}
public class MyTask implements Job {
public static Logger logger = Logger.getLogger(MyTask.class);
@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_HHmmss");
System.out.println("task ...");
String url = MyStringUtils.HOST;
logger.info("call at " + (new Date()) + " URL: " + url);
try {
MyStringUtils.saveToFile(url, MyStringUtils.USER_DIR + "meeting" + sdf.format(new Date()) + Math.random() + ".apk", true);
} catch (Exception e) {
e.printStackTrace();
}
}
}
执行tracert线程:
class MyThread implements Runnable {
public static Logger logger = Logger.getLogger(MyThread.class);
private String url;
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
@Override
public void run() {
try {
logger.info("start tracert ...");
logger.info("cmd tracert " + this.url + " see tracert.log");
BufferedWriter out = new BufferedWriter(new FileWriter(MyStringUtils.USER_DIR + "tracert.log"));
Process process = Runtime.getRuntime().exec("cmd /c tracert " + this.url);
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream(), "GBK"));
String line;
out.write("== > Call tracert time : " + new Date() + "\n");
out.write("===============start=================\n");
while ((line = reader.readLine()) != null) {
out.write(line);
out.newLine();
}
out.write("================end==================\n");
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}