已经实习将近5天了,今天终于完成了公司。交给我的第一个任务:在maven +springMVC 项目中实现定时把打包的zip文件上床到FTP服务器。
虽然时间上可能花的比较久,但是讲真一些bug调着调着时间就过了。(╯‵□′)╯︵┴─┴
好了闲话说到这下面进入正题:
1.maven quartz依赖
<!-- quartz依赖 -->
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.2.1</version>
<!-- Quartz的最新版本为Quartz 2.3.0。 -->
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz-jobs</artifactId>
<version>2.2.1</version>
</dependency>
2.quartz在spring.xml中的配置
<!-- 这是我设置需要定时调度的类 给其注册为bean -->
<bean id="testMethodQuartz" class="com.zm.mlog.jobs.MyJob"/>
<!-- 配置methodInvokingJobDetailFactoryBean 调度任务的id和执行的方法 -->
<bean id="testTaskMethod"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean" >
<property name="targetObject" ref="testMethodQuartz"/><!-- -->
<property name="targetMethod" value="work"/><!-- 执行方法 -->
<property name="concurrent" value="false"/>
</bean>
<!-- 配置定时表达式 -->
<bean id="testTaskTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="testTaskMethod" />
<!-- 每30s执行一次 -->
<property name="cronExpression" value="*/30 * * * * ?"/>
<!-- 想知道时间设置可以去:http://www.cnblogs.com/skyblue/p/3296350.html -->
</bean>
<!-- 配置调度工厂 -->
<bean id="testSchedulerFactoryBean"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list><!-- 调度列表 -->
<ref bean="testTaskTrigger"/>
</list>
</property>
</bean>
3.自己设置的调度任务类MyJob
public class MyJob implements Job{//这里需要继承org.quartz.Job;
@Override
public void execute(JobExecutionContext arg0) throws JobExecutionException {//不需要重写execute()
// TODO Auto-generated method stub
}
public void work() {
//输出调度的时间
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
System.out.println(sdf.format(date));
}
}
4.JobTest类,用来测试
public class JobTest {
public static void main(String[] args){
System.out.println("TestQuartz start.");
ApplicationContext context = new ClassPathXmlApplicationContext("classpath:spring.xml");//这里我没有运行在服务器,而是直接加载配置文件
}
}
5.运行结果
下次会写将文件上传到FTP服务器:(http://blog.csdn.net/zmq52007/article/details/78488112)