本人不才,写博客纯属为了做笔记,言语不恰当地方还望包涵。嘿嘿。
MethodInvokingJobDetailFactoryBean大概的意思就是根据方法名称去执行任务的一个工厂bean。
以下是代码:
springQuartz.xml
<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!-- 定义目标bean和bean中的方法 -->
<bean id="SpringQtzJob_SendMailJob" class="cn.hr.esbjob.SendMailJob" />
<bean id="SpringQtzJobMethod_SendMailJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="concurrent"> <!--定时任务不会并行执行,默认是true-->
<value>false</value>
</property>
<property name="targetObject"><!--要执行的对象-->
<ref bean="SpringQtzJob_SendMailJob" />
</property>
<property name="targetMethod"> <!-- 要执行的方法名称 -->
<value>doJob</value>
</property>
</bean>
<!-- ================= 调度触发器 ======================== -->
<bean id="CronTriggerBean_SendMailJob" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="SpringQtzJobMethod_SendMailJob"></property>
<property name="cronExpression" value="0 0/1 * * * ?"></property><!--1分钟触发一次-->
</bean>
<!-- ======================== 调度工厂 ======================== -->
<bean id="SpringJobSchedulerFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="CronTriggerBean_SendMailJob" />
</list>
</property>
</bean>
</beans>
SendMailJob.java
public void doJob(){
// 业务处理逻辑
System.out.println("======定时任务=======");
}
然后将springQuartz.xml在spring主配置中引入即可。
效果图:
如有问题,请留言!