pom.xml文件中依賴的jar:
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>3.1.4.RELEASE</version>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>1.8.5</version>
</dependency>
</dependencies>
spring-config.xml配置如下:<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>3.1.4.RELEASE</version>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>1.8.5</version>
</dependency>
</dependencies>
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:task="http://www.springframework.org/schema/task"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-3.1.xsd http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.1.xsd">
<context:component-scan base-package="cn.test" />
<task:annotation-driven/>
</beans>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:task="http://www.springframework.org/schema/task"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-3.1.xsd http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.1.xsd">
<context:component-scan base-package="cn.test" />
<task:annotation-driven/>
</beans>
定義一個接口,寫一個實現類。
package cn.test;
/**
* Created by libo on 13-12-18.
*/
public interface SchedulerService {
void doSome();
}
/**
* Created by libo on 13-12-18.
*/
public interface SchedulerService {
void doSome();
}
package cn.test;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.io.*;
import java.util.Calendar;
/**
* Created by libo on 13-12-18.
*/
@Component
public class SchedulerServiceImpl implements SchedulerService {
@Scheduled(cron = "0/5 * * * * ? ") //每5秒執行一次
@Override
public void doSome() {
System.out.println("do soming
" + Calendar.getInstance().getTime());
Runtime runtime = Runtime.getRuntime();
Process p = null;
FileWriter fw = null;
try {
//此處執行的是ipconfig命令,可以換成任何cmd 里的命令。
p = runtime.exec("cmd /c ipconfig /all");
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream(), "GBK"));
// 將命令執行結果保存到文件中
fw = new FileWriter(new File("C:/temp/cmdout.txt"));
String line = null;
while ((line = reader.readLine()) != null) {
fw.write(line + "\n");
}
fw.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (p != null) {
p.destroy();
}
try {
if (fw != null)
fw.close();
if (p != null)
p.getOutputStream().close();
} catch (IOException e) {
e.printStackTrace();
}
}
System.out.println("do soming
" + Calendar.getInstance().getTime());
}
}
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.io.*;
import java.util.Calendar;
/**
* Created by libo on 13-12-18.
*/
@Component
public class SchedulerServiceImpl implements SchedulerService {
@Scheduled(cron = "0/5 * * * * ? ") //每5秒執行一次
@Override
public void doSome() {
System.out.println("do soming

Runtime runtime = Runtime.getRuntime();
Process p = null;
FileWriter fw = null;
try {
//此處執行的是ipconfig命令,可以換成任何cmd 里的命令。
p = runtime.exec("cmd /c ipconfig /all");
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream(), "GBK"));
// 將命令執行結果保存到文件中
fw = new FileWriter(new File("C:/temp/cmdout.txt"));
String line = null;
while ((line = reader.readLine()) != null) {
fw.write(line + "\n");
}
fw.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (p != null) {
p.destroy();
}
try {
if (fw != null)
fw.close();
if (p != null)
p.getOutputStream().close();
} catch (IOException e) {
e.printStackTrace();
}
}
System.out.println("do soming

}
}
測試類(注意:使用junit是不能測試自動任務地!)
package cn.test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* Created by libo on 13-12-18.
*/
public class Test {
public static void main(String[] args){
ApplicationContext context = new ClassPathXmlApplicationContext("/spring-config.xml");
System.out.println("請等待5秒
讓任務飛一會兒!");
}
}
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* Created by libo on 13-12-18.
*/
public class Test {
public static void main(String[] args){
ApplicationContext context = new ClassPathXmlApplicationContext("/spring-config.xml");
System.out.println("請等待5秒

}
}
end.