Java定时任务Quartz
2024-09-04 23:23:45
第一步:pom文件中添加依赖包
第二步:创建xml文件,名称为:spring-scheduler 路径如下图:
第三步:spring-scheduler配置详情
<!--创建任务-->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="jobDetails">
<list>
<ref bean="updateTimeOutUrgentJobDetail" />
<ref bean="earlyWarnJobDetail" />
<!--<ref bean="msgPushJobDetail" />-->
</list>
</property>
<!--引入触发器-->
<property name="triggers">
<list>
<ref bean="updateTimeOutUrgentTrigger" />
<ref bean="earlyWarnJobTrigger" />
<!--<ref bean="msgPushJobTrigger" />-->
</list>
</property>
</bean> <!--任务 引入具体的service-->
<bean id="updateTimeOutUrgentJobDetail" class="org.springframework.scheduling.quartz.JobDetailFactoryBean">
<property name="jobClass" value="cn.com.klec.bepcs.web.quartz.TimeOutUrgentJob" />
<property name="jobDataMap">
<map>
<entry key="timeOutUrgentJobService" value-ref="timeOutUrgentJobService" />
</map>
</property> <property name="durability" value="true" />
</bean>
<!--创建触发器-->
<bean id="updateTimeOutUrgentTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<!--引入任务-->
<property name="jobDetail" ref="updateTimeOutUrgentJobDetail" />
<!--指定 Cron 表达式-->
<property name="cronExpression" value="0 0 * * * ?"/>
</bean>
第三步:实现定时任务,具体的业务操作
第四步:创建任务 TimeOutUrgentJob
public class TimeOutUrgentJob extends QuartzJobBean {
private static final Logger LOG = LoggerFactory.getLogger(TimeOutUrgentJob.class);
private TimeOutUrgentJobService timeOutUrgentJobService;
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
LOG.info("**********************里程碑催办任务启动*******************************");
try {
timeOutUrgentJobService = (TimeOutUrgentJobService) context.getMergedJobDataMap().get("timeOutUrgentJobService");
timeOutUrgentJobService.insertInfo(); } catch (Exception e) {
LOG.error("里程碑催办任务异常: ", e);
} finally {
LOG.info("**************************里程碑催办任务结束 **************************");
}
} }
第五步:启动项目
注释:timeOutUrgentJobService.insertInfo();就是项目中需要具体实现的业务,quartz默认10个线程
最新文章
- STL heap usage
- AKI
- CSS中!important的作用
- 不要轻易使用linq代替sql
- 关于IllegalMonitorStateException异常
- 关于XShell的常见使用和设置以及Linux中的常见命令.
- [leetcode-495-Teemo Attacking]
- C# 内置 DateTime类详解
- python3之os、sys
- git报ssh variant &#39;simple&#39; does not support setting port解决办法
- html中&;lt;a&;gt;标签的种类
- Dbutils 连接数据库
- 在debug模式下引入一些性能检测工具
- iframe父页面获取iframe子页面的元素 与 iframe子页面获取父页面元素
- i++ i+=1 i=i+1 汇编代码效率比较
- HDU 4745 Two Rabbits(区间DP,最长非连续回文子串)
- Technology share: VR is coming,are you ready?
- json调试
- 利用脚手架vue cli搭建vue项目
- “使用驱动器中J:的光盘之前需要将其格式化