Spring quartz 的配置使用一 SampleTrigger

调度器的配置使用

org.springframework.context.support-3.0.5.RELEASE.jar

org.springframework.transaction-3.0.5.RELEASE.jar


application.xml的文件配置如下:

<bean id="casheTaskInfo" class="com.ifeng.sync.model.MyTaskInfo">
<property name="name" value="cacheClean"></property>
</bean>
<bean id="resendTaskInfo" class="com.ifeng.sync.model.MyTaskInfo">
<property name="name" value="resend"></property>
</bean>



<!--创建jobDetail 一个job任务 -->
<bean id="resendJobDetail" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="com.ifeng.sync.timer.RetryJob" />
<property name="jobDataAsMap">
<map>
<entry key="taskInfo" value-ref="resendTaskInfo"></entry>
</map>
</property>
</bean>
<bean id="cacheCleanJobDetail" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="com.ifeng.sync.timer.CacheCleanJob" />
<property name="jobDataAsMap">
<map>
<entry key="taskInfo" value-ref="casheTaskInfo"></entry>
</map>

</property>
</bean>


<bean id="retryTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">


<property name="JobDetail" ref="resendJobDetail" />
<!-- repeat every 1 seconds -->
<property name="repeatInterval" value="1000" />
</bean>
<bean id="cacheCleanTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">

<- - 触发器的创建-->

<property name="JobDetail"ref="cacheCleanJobDetail" /> < - -
<property name="repeatCount" value="-1" /> 重复执行次数为无穷次 或则不添加这个属性,

重复执行次数也是无穷次- - >


<property name="JobDetail" ref="cacheCleanJobDetail" />


<!-- repeat every 1seconds -->
<property name="repeatInterval" value="1000" />
</bean>
<bean id="myScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="cacheCleanTrigger" />
</list>
</property>
</bean>


创建job类 继承 QuartzJobBean

如下:

public class CacheCleanJob extends QuartzJobBean{


protected void executeInternal(JobExecutionContext context) throws JobExecutionException{

System.out.println("this job is begin");

}

}


public class RetryJobextends QuartzJobBean{


protected void executeInternal(JobExecutionContext context) throws JobExecutionException{

System.out.println("this job is begin");

}

注意:Job 实现implements StatefulJob 变成串行进程,当当前进程没有执行完是,其他进程不让执行。

你可能感兴趣的:(quartz)