spring整合quartz

来源:互联网 发布:淘宝基础版不能设背景 编辑:程序博客网 时间:2024/06/10 21:56

1.话不多说,首先在pom.xml加入spring支持quartz的jar包(保证项目中已经存在相关日志的jar包,可以参考我的ssm整合的pom): 

  <!-- https://mvnrepository.com/artifact/org.quartz-scheduler/quartz-jobs -->
<dependency>
    <groupId>org.quartz-scheduler</groupId>
    <artifactId>quartz-jobs</artifactId>
    <version>2.2.1</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.quartz-scheduler/quartz -->
<dependency>
    <groupId>org.quartz-scheduler</groupId>
    <artifactId>quartz</artifactId>
    <version>2.2.1</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.springframework/spring-context-support -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context-support</artifactId>
    <version>4.3.7.RELEASE</version>
</dependency>

2.配置applicationContext-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:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">


<!-- 配置 Job. 此时不需要实现任何接口 -->
<bean id="myJob"
class="
cn.ljj.service.job"></bean>


<!-- 配置 JobDetail -->
<bean id="jobDetail"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="myJob"></property>
<property name="targetMethod" value="
execute"></property>
</bean>

<!-- 配置 Cron 表达式 -->
<bean id="trigger"
class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="jobDetail"></property>

                <!--这表示每天的17:08分时,每各三秒触发要调用的方法-->
<property name="cronExpression" value="
0/3 8 17 * * ?"></property>
</bean>

<!-- 配置 Scheduler -->
<bean id="scheduler"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<array>
<ref bean="trigger"/>
</array>
</property>
<!-- 配置 Quartz 的属性. 属性可以从 /org/quartz/quartz.properties 中得到 -->
<property name="quartzProperties">
<props>
<prop key="org.quartz.threadPool.threadCount">
20</prop>
</props>
</property>
<!-- 配置 IOC 容器启动多长时间以后再出发 Trigger -->
<property name="startupDelay" value="
10"></property>
</bean>
</beans>

3.剩下的就简单了,你只需要在service层里面定义你要进行作业调度的方法就行。

4.另外给几个corn表达式的实例给各位参考,了解了这些,基本上所有的定时调度开发就通了。



奋斗奋斗奋斗奋斗奋斗奋斗






原创粉丝点击