Spring quartz 的配置使用一 SampleTrigger
2012-02-14 09:55
169 查看
调度器的配置使用
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">
[b]<- - 触发器的创建-->
<property name="JobDetail"ref="cacheCleanJobDetail" /> < - - <property name="repeatCount" value="-1" /> 重复执行次数为无穷次 或则不添加这个属性,[/b]
[b]重复执行次数也是无穷次- - >
<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> [/b]
创建job类 继承 QuartzJobBean
如下:
public class CacheCleanJob extends QuartzJobBean{
protected void executeInternal(JobExecutionContext context) throws JobExecutionException{
System.out.println("this job is begin");
}
}
public class RetryJob extends QuartzJobBean{
protected void executeInternal(JobExecutionContext context) throws JobExecutionException{
System.out.println("this job is begin");
}
注意:Job 实现 implements StatefulJob 变成串行进程,当当前进程没有执行完是,其他进程不让执行。
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">
[b]<- - 触发器的创建-->
<property name="JobDetail"ref="cacheCleanJobDetail" /> < - - <property name="repeatCount" value="-1" /> 重复执行次数为无穷次 或则不添加这个属性,[/b]
[b]重复执行次数也是无穷次- - >
<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> [/b]
创建job类 继承 QuartzJobBean
如下:
public class CacheCleanJob extends QuartzJobBean{
protected void executeInternal(JobExecutionContext context) throws JobExecutionException{
System.out.println("this job is begin");
}
}
public class RetryJob extends QuartzJobBean{
protected void executeInternal(JobExecutionContext context) throws JobExecutionException{
System.out.println("this job is begin");
}
注意:Job 实现 implements StatefulJob 变成串行进程,当当前进程没有执行完是,其他进程不让执行。
相关文章推荐
- 《pro Spring》学习笔记之使用Spring配置Quartz
- Spring quartz定时任务的配置与使用
- Spring 定时器配置 基于配置文件 (使用 Spring3.2 、 quartz-1.6.5)
- Spring中quartz的配置及使用(企业…
- Spring&Quartz使用数据库集群配置(MySQL/SQLServer/Oracle)
- Spring使用Quartz配置调度事务
- Spring3中定时器的配置使用之Quartz
- Spring 集成 Quartz 的配置与使用
- Quartz与Spring结合使用及集群配置
- 使用spring+quartz配置多个定时任务
- Spring使用Quartz配置调度事务
- 使用Spring配置管理Quartz的时候会遇到下面的异常:
- 在Spring注解驱动配置下使用Quartz调度有问题,大家帮忙看看
- Spring中使用Quartz的配置步骤
- Spring使用Quartz配置调度事物
- Spring中Quartz的配置使用
- quartz整合spring 相关配置及使用
- Springboot中使用数据库配置Quartz定时任务
- spring quartz定时器的简单配置和使用
- Spring使用Quartz配置调度事务