quartz集成spring
来源:互联网 发布:java web开发实战 编辑:程序博客网 时间:2024/06/08 05:39
导入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>
applicationContext.xml配置
<!--配置job(自定义的job任务类)--><bean id="promotionJob" class="org.springframework.scheduling.quartz.JobDetailFactoryBean"> <property name="jobClass" value="com.ikayaki.bos.quartz.PromotionJob" /> </bean> <!--配置trigger,常用cronTrigger,更灵活cronTragger时间配置:7个 秒:0-59 分: 0-59 时: 0-23 月中的天: 0-31 月:0-11 周中的天:1-7 ?:不确定,未知 / :每 eg: 秒:*/5 : 每5秒执行一次--> <bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean"> <property name="jobDetail" ref="promotionJob" /> <property name="startDelay" value="0" /> <property name="repeatInterval" value="60000" /> </bean> <!--配置Scheduler启动定时器,将所有需要启动或管理的定时器均配置在list标签下--> <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="jobFactory" ref="jobFactory" /> <property name="triggers"> <list> <ref bean="simpleTrigger"/> </list> </property> </bean></beans>
导入jobFactory
package com.ikayaki.bos.quartz;import org.quartz.spi.TriggerFiredBundle;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.config.AutowireCapableBeanFactory;import org.springframework.scheduling.quartz.AdaptableJobFactory;import org.springframework.stereotype.Service;@Service("jobFactory")public class JobFactory extends AdaptableJobFactory { @Autowired private AutowireCapableBeanFactory capableBeanFactory; @Override protected Object createJobInstance(TriggerFiredBundle bundle) throws Exception { Object jobInstance = super.createJobInstance(bundle); capableBeanFactory.autowireBean(jobInstance); return jobInstance; }}
编写job
package com.ikayaki.bos.quartz;import java.util.Date;import org.quartz.Job;import org.quartz.JobExecutionContext;import org.quartz.JobExecutionException;import org.springframework.beans.factory.annotation.Autowired;import com.ikayaki.bos.service.take_delivery.PromotionService;public class PromotionJob implements Job { @Autowired private PromotionService promotionService; @Override public void execute(JobExecutionContext context) throws JobExecutionException { System.out.println("活动过期处理程序执行...."); // 每分钟执行一次,当前时间 大于 promotion数据表 endDate, 活动已经过期,设置status='2' promotionService.updateStatus(new Date()); }}
编写service和dao
@Override public void updateStatus(Date date) { promotionRepository.updateStatus(date); } package com.ikayaki.bos.dao.take_delivery;import java.util.Date;import org.springframework.data.jpa.repository.JpaRepository;import org.springframework.data.jpa.repository.Modifying;import org.springframework.data.jpa.repository.Query;import com.ikayaki.bos.domain.take_delivery.Promotion;public interface PromotionRepository extends JpaRepository<Promotion, Integer> { @Query("update Promotion set status='2' where endDate<? and status='1'") @Modifying void updateStatus(Date now);}
阅读全文
0 0
- Spring 3 - Quartz - 集成
- Spring集成Quartz
- spring 3.0集成 quartz
- spring集成quartz
- Spring集成Quartz
- 集成spring和quartz
- Spring集成Quartz实战
- spring集成quartz
- spring集成 quartz
- Spring集成quartz
- Quartz集成Spring框架
- spring内集成quartz
- spring-boot集成Quartz
- Quartz+Spring集成配置
- spring集成quartz
- Spring中集成quartz
- Quartz的spring集成
- Spring 集成Quartz
- devtools
- 剑指offer面试题5——链表之从尾到头打印链表
- (一)切片
- Java 不同方式,不同位置创建String字符串的区别
- Fix could not install *smartsocket* listener
- quartz集成spring
- JavaEE学习笔记之Servlet
- HDU 5934 强连通分量
- 2017CCPC哈尔滨滚粗记
- solrCloud 集群搭建
- 设计模式(单例模式)
- const&内联&友元
- 网络层的协议
- 5位运动员参加了10米台跳水比赛,预测比赛结果