上面提到了两种方法来实现服务bean,一种是extends QuartzJobBean,另一种方法就是把一个普通的javabean指定为定时服务bean,下面就来介绍这种定时服务调度的写法。
package quartz2;

public class LogJob1 ...{

public void log()...{
System.out.println("begin quartz...."+new java.sql.Timestamp(System.currentTimeMillis()));
}
}
这个bean写好后需要进行一番改造才可以成为定时服务,但这个改造过程并不会影响LogJob1.
<bean id="logjob2" class="quartz2.LogJob1"></bean>
<bean id="miJobDetail"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="logjob2" />
</property>
<property name="targetMethod">
<value>log</value>
</property>
</bean>
<bean id="trigger2"
class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail">
<ref bean="miJobDetail" />
</property>
<property name="startDelay">
<value>0</value>
</property>
<property name="repeatInterval">
<value>3000</value>
</property>
<property name="repeatCount">
<value>0</value>
</property>
</bean>

<bean id="sfb2"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="trigger2" />
</list>
</property>
</bean>现在这个普通的javabean在spring配置文件装载时就可能自动运行其方法log()。
本文介绍如何将普通Java Bean配置为Spring中的定时任务。通过使用MethodInvokingJobDetailFactoryBean和SimpleTriggerBean,可以轻松实现定时任务的调度。
&spm=1001.2101.3001.5002&articleId=2027620&d=1&t=3&u=77dd7f4af9004551ade6b6085574cfb6)
1万+

被折叠的 条评论
为什么被折叠?



