spring+Quartz定时器,调用hibernate Service服务操作数据库

weoln 2013-04-15

需要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();//获得数据

}

相关推荐