java定时调度:
第一步:定义作业类
第二步:spring配置文件中配置作业类JobDetailBean
- <bean name="job1" class="org.springframework.scheduling.quartz.JobDetailBean">
- <property name="jobClass" value="com.gy.Job1" /> //jobClass就是java类
- <property name="jobDataAsMap"> //jobDataAsMap属性即该任务类中需要注入的属性值。
- <map>
- <entry key="timeout" value="0" />
- </map>
- </property>
- </bean>
第三步:配置作业调度的触发方式(触发器)
Quartz的作业触发器有两种,分别是
org.springframework.scheduling.quartz.SimpleTriggerBean
org.springframework.scheduling.quartz.CronTriggerBean
第一种SimpleTriggerBean,只支持按照一定频度调用任务,如每隔30分钟运行一次。
- <bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
- <property name="jobDetail" ref="job1" /> //ref是上面配置的javabean的name
- <property name="startDelay" value="0" /> <!-- 调度工厂实例化后,经过0秒开始执行调度 -->
- <property name="repeatInterval" value="2000"/> <!-- 每2秒调度一次 -->
- </bean>
第二种CronTriggerBean,支持到指定时间运行一次,如每天12:00运行一次等。
- <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
- <property name="jobDetail" ref="job1" />
- <!—每天12:00运行一次 -->
- <property name="cronExpression" value="0 0 12 * * ?" />
- </bean>
第四步:配置调度工厂
- <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
- <property name="triggers">
- <list>
- <ref bean="cronTrigger" /> //调度之前配置的触发器
- </list>
- </property>
- </bean>
第五步:启动你的应用即可,即将工程部署至tomcat或其他容器。
s