6.spring 整合 quartz

一、spring整合 quartz

  1. 添加依赖

    <properties>
    	<spring-version>4.3.12.RELEASE</spring-version>
    	<quartz-version>2.3.0</quartz-version>
    </properties>
    
    <dependencies>
    	<!-- spring-tx -->
    	<dependency>
    		<groupId>org.springframework</groupId>
    		<artifactId>spring-tx</artifactId>
    		<version>${spring-version}</version>
    	</dependency>
    
    	<!-- spring-context -->
    	<dependency>
    		<groupId>org.springframework</groupId>
    		<artifactId>spring-context</artifactId>
    		<version>${spring-version}</version>
    	</dependency>
    
    	<dependency>
    		<groupId>org.springframework</groupId>
    		<artifactId>spring-context-support</artifactId>
    		<version>${spring-version}</version>
    	</dependency>
    	<!-- quartz -->
    	<dependency>
    		<groupId>org.quartz-scheduler</groupId>
    		<artifactId>quartz</artifactId>
    		<version>${quartz-version}</version>
    	</dependency>
    
    	<dependency>
    		<groupId>org.quartz-scheduler</groupId>
    		<artifactId>quartz-jobs</artifactId>
    		<version>${quartz-version}</version>
    	</dependency>
    </dependencies>
    <build>
    	<plugins>
    		<plugin>
    			<groupId>org.apache.maven.plugins</groupId>
    			<artifactId>maven-compiler-plugin</artifactId>
    			<configuration>
    				<!-- 代码检错版本号 -->
    				<source>1.8</source>
    				<!-- 代码编译版本号 -->
    				<target>1.8</target>
    				<!--项目字符集 -->
    				<encoding>UTF-8</encoding>
    			</configuration>
    		</plugin>
    	</plugins>
    </build>
    
  2. 编写任务类

  3. 配置任务实例

    <bean id="实例名称" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
    		<!-- 执行的类 -->
    		<property name="targetObject">
    			<ref bean="任务id" />
    			<!--<bean class="任务路径"/>
    		</property>
    		<!-- 类中的方法 -->
    		<property name="targetMethod">
    			<value>任务方法</value>
    		</property>
    		<!-- 作业不并发调度 --> 
    		<property name="concurrent" value="false" />
    </bean>
    
  4. 配置触发器(触发器二选一)

    	<!-- SimpleTriggerBean 触发器     只支持按照一定频度调用任务,如每隔30分钟运行一次。-->
    	<bean id="触发器id" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">
    		<property name="jobDetail">
    			<ref bean= "任务实例id" />
    		</property>
    		<property name="startDelay" value="xxx" /> <!-- 调度工厂实例化后,经过0秒开始执行调度 --> 
    		<property name="repeatInterval" value="xxx" /> <!-- 每xxx秒调度一次 -->
    	</bean>
    	
    	<!-- CronTriggerBean 触发器    支持到指定时间运行一次,如每天12:00运行一次等。 -->
    	<bean id="触发器id" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
    		<property name="jobDetail">
    			<ref bean="任务实例id" />
    		</property>
    		<!-- cron表达式 -->
    		<property name="cronExpression">
    			<value>cron表达式</value>
    		</property>
    	</bean>
    	
    
  5. 配置调度工厂

    <!-- 配置调度工厂 -->
    <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    	<!-- 添加触发器 -->
    	<property name="triggers">
    		<list>
    			<ref bean="触发器" />
    		</list>
    	</property>
    </bean>
    
  6. 编写测试类

二、cron表达式

https://www.cnblogs.com/pipi-changing/p/5697481.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

默语玄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值