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

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

猜你喜欢

转载自mr-lili-1986-163-com.iteye.com/blog/1847427