加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 教程 > 正文

Java项目中定时任务之Quartz的实施

发布时间:2021-12-13 10:51:15 所属栏目:教程 来源:互联网
导读:Quartz 是个开放源码项目,提供了丰富的作业调度集。我目前接触到的quartz只是在我做的Java项目中定时执行任务,我的项目因为是在spring的基础上搭建的想要整合quartz非常的简单。 对于非spring项目的应用,它也很强大因为我没有实际测试过不做介绍。如果有

Quartz 是个开放源码项目,提供了丰富的作业调度集。我目前接触到的quartz只是在我做的Java项目中定时执行任务,我的项目因为是在spring的基础上搭建的想要整合quartz非常的简单。
 
对于非spring项目的应用,它也很强大因为我没有实际测试过不做介绍。如果有需要的可以查看软件工程师 Michael Lipton 和 IT 架构师 Soobaek Jang 对 Quartz API 进行的介绍。链接地址:用 Quartz 进行作业调度
 
下面主要说一个quartz在spring项目中的应用
 
首先添加所需要的jar包:quartz-1.5.2.jar 和spring框架所需要的架包
 
首先写个一个定时执行任务的类
 
public class QuartzJob {
  public void work()
    {
  Date d = new Date();
  SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss.SSS");//时:分:秒:毫秒
  System.out.println("Quartz的任务调度"+sdf.format(d));
    }
  //手动启动测试是否定时任务是否编写成功
  public static void main(String[] args) {
  String[] configs={"file:D:/Workspaces/MyEclipse 8.5/.metadata/.me_tcat/webapps/zcz_test/WEB-INF/classes/applicationContext-quartz.xml"};
  ApplicationContext ac=new ClassPathXmlApplicationContext(configs);
 }
}
 
在写一个spring的配置文件 applicationContext-quartz.xml(名字随便起,但要在web.xml引用)
 
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
 
      <bean id="testJob" class="quartz.QuartzJob" />
     
      <bean id="testTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail" ref="testJobDetail" />
        <property name="cronExpression" value="9,18,28,29,39,38,46,43,52,57 * * * * ?" />
    </bean>
 
    <bean id="testJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <property name="targetObject" ref="testJob" />
        <property name="targetMethod" value="work" />
        <property name="concurrent" value="false" />
    </bean>
     
    <bean id="localQuartzScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"  lazy-init="false">
      <property name="triggers">
          <list>
          <ref bean="testTrigger"/>
          <!--
              <ref bean="iptvCheckTrigger"/>
              <ref bean="iptvParseTrigger"/>
              <ref bean="IptvUploadTrigger"/>
              -->
          </list>
      </property>
    </bean>   
</beans>

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读