因为项目框架比较老,因此没办法像spring boot 或者maven项目一样快捷引入,因此百度了些方法整理了下。
开发工具 :idea
1、导入quartz包, 右键jar包,选择 Add as library
2、新建spring-quartz.xml文件
3、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"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--注入任务处理类bean -->
<bean id="quartzTask" class="{yourPackageName}.service.quartz.GbSyncQuartz">
</bean>
<!-- 2.任务触发器详细信息bean -->
<bean id="myJobDetail2" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<!-- 设置任务执行对象 -->
<property name="targetObject" ref="quartzTask"></property>
<!-- 设置任务执行对象中对应的执行方法 -->
<property name="targetMethod" value="doSync"></property>
<!-- 设置任务是否可并发执行,默认为不并发 -->
<property name="concurrent" value="false"></property>
</bean>
<!-- 2.任务触发器 -->
<bean id="cronTrigger2" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<!-- 设置任务详细信息 -->
<property name="jobDetail" ref="myJobDetail2"></property>
<!-- 设置quartz任务执行表达式 ,每隔三秒执行一次任务-->
<property name="cronExpression" value="0/50 * * * * ?"></property>
</bean>
<!-- 设置触发器调度工厂 -->
<bean id="schedulerFactory" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<!-- 触发器调度工厂调度简单触发器 -->
<ref bean="cronTrigger2"/>
<!--<rel bean=""> 多个触发器可以这样配置-->
</list>
</property>
</bean>
</beans>
3、加载配置文件,在spring-config*.xml中引入spring-quartz.xml文件
<import resource="classpath:{路径}/spring-quartz.xml"/>
4、启动Tomcat项目,可以看到日志
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class GbSyncQuartz {
private Logger logger = LoggerFactory.getLogger(GbSyncQuartz.class);
public void doSync() {
logger.info("同步调度正在执行......");
}
}
评论 (0)