您的位置:首页 > 数据库 > Oracle

SSM集成Quartz RAM方式(Oracle数据源)

2018-03-02 09:23 477 查看
一.Maven配置依赖包



  <dependency>
          <groupId>org.quartz-scheduler</groupId>
          <artifactId>quartz</artifactId>
          <version>2.2.1</version>
    </dependency>
    <dependency>
        <groupId>org.quartz-scheduler</groupId>
        <artifactId>quartz-jobs</artifactId>
        <version>2.2.1</version>

    </dependency>
二.设置Job



public class MyQuartzTask{
   //简单触发器运行的任务
    public void doSimpleTask(){
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println("doSimpleTask正在运行..."+sdf.format(new Date()));
    }  
    //cron任务触发器运行的任务
    public void doCronTask(){
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println("doCronTask正在运行..."+sdf.format(new Date()));
    }

}
三.Spring添加配置文件
1.web.xml  增加配置文件读取



2.新增配置文件spring-quartz.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd         http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
    
     <!--注入任务处理类bean  -->   
     <bean id="quartzTask" class="com.kh_cd_se_1701.service.task.quartz.MyQuartzTask"></bean> 
     
     <!-- 1.简单触发器任务详细信息bean -->   
     <bean id="myJobDetail1" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
      <!-- 设置任务执行对象 -->
      <property name="targetObject" ref="quartzTask"></property>
      <!-- 设置任务执行对象中对应的执行方法 -->
      <property name="targetMethod" value="doSimpleTask"></property>
      <!-- 设置任务是否可并发执行,默认为不并发 -->
      <property name="concurrent" value="false"></property>
     </bean>
     
     <!-- 2.任务触发器详细信息bean -->
     <bean id="myJobDetail2" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
      <!-- 设置任务执行对象 -->
      <property name="targetObject" ref="quartzTask"></property>
      <!-- 设置任务执行对象中对应的执行方法 -->
      <property name="targetMethod" value="doCronTask"></property>
      <!-- 设置任务是否可并发执行,默认为不并发 -->
      <property name="concurrent" value="false"></property>
     </bean>
     
     <!-- 2.制定简单触发器 -->  
     <bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">
      <!-- 设置任务详细信息 -->
      <property name="jobDetail" ref="myJobDetail1"></property>
      <!-- 设置延迟1秒开始执行,自己看情况 -->
      <property name="startDelay" value="1000"></property>
      <!-- 设置任务执行间隔,本人设置2秒执行一次  -->
      <property name="repeatInterval" value="2000"></property>
      <property name="repeatCount" value="3"/>
     </bean> 
     
       <!-- 2.任务触发器 -->
     <bean id="cronTrigger2" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
      <!-- 设置任务详细信息 -->
      <property name="jobDetail" ref="myJobDetail2"></property>
      <!-- 设置quartz任务执行表达式 ,每隔三秒执行一次任务-->
      <property name="cronExpression" value="0/3 * * * * ?"></property>
     </bean>
     
     <!-- 2.2:定义触发器的bean,定义一个Cron的Trigger,一个触发器只能和一个任务进行绑定 -->
    <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
        <!-- 指定Trigger的名称 -->
        <property name="name" value="hw_trigger"/>
        <!-- 指定Trigger的名称 -->
        <property name="group" value="hw_trigger_group"/>
        <!-- 指定Tirgger绑定的Job -->
        <property name="jobDetail" ref="hwJob"/>
        <!-- 指定Cron 的表达式 ,当前是每隔1s运行一次 -->
        <property name="cronExpression" value="0/1 * * * * ?" />
    </bean>
     
     
     <!-- 设置触发器调度工厂 -->   
     <bean id="schedulerFactory" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
      <property name="triggers">
      <list>
      <!-- 触发器调度工厂调度简单触发器 -->
      <ref bean="simpleTrigger"/>
      <!--<ref bean=""> 多个触发器可以这样配置-->
      <!-- 触发器调度工厂调度简单触发器 -->
      <ref bean="cronTrigger2"/>
      </list>
      </property>
     </bean> 
</beans>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java quartz ram oralce