理论就不多说。在做spring的quartz时需注意下,jar包问题。如果jar没问题的话,就是下面的配置了。
<!-- 实例化bean -->
<bean id= "testMethodQuartz" class ="icss.cqcj.quartz.TestQuartz"/>
<!-- 配置MethodInvokingJobDetailFactoryBean -->
<bean id= "testTaskMethod"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="testMethodQuartz"/> <!-- 类 -->
<property name="targetMethod" value="TestMethod"/> <!-- 方法名 -->
<property name="concurrent" value="false"/><!-- 设置为false表示不并发执行 -->
</bean>
<!-- 配置定时表达式 --> <!-- CronTriggerBean和SimpleTriggerBean都是triggers -->
<bean id= "testTaskTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean" >
<property name="jobDetail" ref="testTaskMethod" />
<!-- 每一分钟执行一次 -->
<property name="cronExpression" value="0 0/1 * * * ?" />
</bean>
<!-- 配置调度工厂 -->
<bean id= "testSchedulerFactoryBean"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <!-- 用triggers和SchedulerFactoryBean来包装任务 -->
<property name="triggers" >
<list>
<ref bean="testTaskTrigger" />
</list>
</property>
</bean>
注:spring的版本对quartz的jar包有要求限制。可以查下网上的相关问题。
定时调用的方法
public class TestQuartz{
public void TestMethod() throws Exception{
System.out.println("spring quartz开始-----------------");
}
}
亲测 可以试下。
多版本spring 与quartz定时任务所需jar包
jar包:https://download.csdn.net/download/u014737582/10313626