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