Spring 之 quartz使用体会
网上资料并不完整。
个人整理使用方法如下所示:
1. 创建工作任务
<bean id="auctionJobDetail" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="com.marsor.ipapoo.timer.AuctionOverJob" />
<property name="applicationContextJobDataKey" value="applicationContext"/>
</bean>
2. 设置工作任务触发机制
<bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail" ref="auctionJobDetail" />
<property name="startDelay" value="1000" />
<property name="repeatInterval" value="1000" />
</bean>
3. 根据以上两项内容创建Spring定时器,并开始执行。(没有这步是不可能运行的)
<bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="simpleTrigger" />
</list>
</property>
</bean>
需要自己写的内容只有 JobClass所指的继承自org.quartz.Job的工作内容。仅仅实现其中的一个execute方法。当然,以上配置的内容还是要放到Spring的配置文件中的。
如果要实现不同的触发机制,只需要修改trigger就可以,例如可以修改成crontrigger,或者简单增加crontrigger,因为定时器是可以创建多个触发器的。而且可以同时进行,互不影响(在第三步配置多个trigger)。每一个步骤都可以参考其类的生命获取其他参数信息。例如schedulerContextAsMap等等。
个人整理使用方法如下所示:
1. 创建工作任务
<bean id="auctionJobDetail" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="com.marsor.ipapoo.timer.AuctionOverJob" />
<property name="applicationContextJobDataKey" value="applicationContext"/>
</bean>
2. 设置工作任务触发机制
<bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail" ref="auctionJobDetail" />
<property name="startDelay" value="1000" />
<property name="repeatInterval" value="1000" />
</bean>
3. 根据以上两项内容创建Spring定时器,并开始执行。(没有这步是不可能运行的)
<bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="simpleTrigger" />
</list>
</property>
</bean>
需要自己写的内容只有 JobClass所指的继承自org.quartz.Job的工作内容。仅仅实现其中的一个execute方法。当然,以上配置的内容还是要放到Spring的配置文件中的。
如果要实现不同的触发机制,只需要修改trigger就可以,例如可以修改成crontrigger,或者简单增加crontrigger,因为定时器是可以创建多个触发器的。而且可以同时进行,互不影响(在第三步配置多个trigger)。每一个步骤都可以参考其类的生命获取其他参数信息。例如schedulerContextAsMap等等。