需要quartz-1.6.5.jar
一、spring配置文件里:
<!--定时器-->
<!-- 定时任务的工作Bean -->
<bean id="quartzJob" class="com.csidc.as.service.impl.EmpService" />
<!-- 定义生成工作对象的工厂,并为工厂设定目标对象targetObject属性、目标对象的工作方法targetMethod属性 -->
<!-- <bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> -->
<bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<!-- 注入的service层 -->
<property name="targetObject" ref="quartzJob" />
<!-- 调用的方法-->
<property name="targetMethod" value="synchronizeDb" />
<!--concurrent为true,则允许一个QuartzJob并发执行,否则就是顺序执行 -->
<property name="concurrent" value="false" />
<!-- <property name="targetObject" ref="quartzJob" /> -->
<!-- <property name="targetMethod"> -->
<!-- <value>synchronizeDb</value> -->
<!-- </property> -->
<!-- <property name="concurrent" value="false" /> -->
</bean>
<!-- 任务调度计时器,进行定时设置。CronTriggerBean能进行非常精确的定时设置 -->
<bean id="cronQuartzClock" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="jobDetail" />
<!-- cron表达式 -->
<property name="cronExpression">
<!-- 0 0 */2 * * ? 每两小时、整点触发 -->
<!-- 0 0/2 * * * ? 每两分钟 -->
<!-- 0/5 * * * * ? 每五秒钟 -->
<!-- 0 15 10 * * ? 每天15分10点触发 -->
<value>0 20 9 * * ?</value>
</property>
</bean>
<!-- 调度任务触发器,启动定时任务-->
<bean autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="cronQuartzClock" />
</list>
</property>
</bean>
<!--定时器结束-->
二、com.csidc.as.service.impl.EmpService里
/***** 定时器要执行的方法 ******/
public void synchronizeDb() {
LOG.info("Quartz的任务调度>>>>>>>>aaaaa!");
//里面就可以调用spring注入的dao对象,操作数据库
List<String> uidS = empDAO.getJobLevel2Uid();//获得数据
}
spring+Quartz定时器,调用hibernate Service服务操作数据库
猜你喜欢
转载自mr-lili-1986-163-com.iteye.com/blog/1847427
今日推荐
周排行