您的位置:首页 > 编程语言 > Java开发

quartz与spring整合

2016-06-02 17:24 405 查看
    <!-- 导入定时任务 -->

    <!-- <import resource="classpath:spring/quartz.xml" /> -->

------------------------------------------------------------------------------------------------------------------------

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"

    xmlns:context="http://www.springframework.org/schema/context"

    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"
    default-lazy-init="false">

    <description>quartz Configuration</description>

    <!-- 配置执行定时任务的类和方法 -->

    <bean id="jobDayTotal" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">

        <property name="targetObject">

            <bean class="com.impay.boss.controller.TotalController"></bean>

        </property>

        <property name="targetMethod">

            <value>initTotalTransAgentYesterday</value>

        </property>

    </bean>

    <!-- 配置触发器 -->

    <bean id="jobDayTotalTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">

        <property name="jobDetail">

            <ref bean="jobDayTotal" /> <!-- 触发器触发的 执行定时任务的bean -->

        </property>

        <property name="cronExpression">

            <!-- 定时任务执行的间隔 -->

            <!-- 每天1时 -->

            <value>0 0 3 * * ?</value>

            <!-- 每30秒 -->

            <!-- <value>0/30 * * * * ?</value> -->

        </property>

    </bean>

    

    

    <!-- 配置执行定时任务的类和方法 -->

    <bean id="jobDayCreateTransFile" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">

        <property name="targetObject">

            <bean class="com.impay.boss.controller.TransDataController"></bean>

        </property>

        <property name="targetMethod">

            <value>jobCreateYesterdayTransFile</value>

        </property>

    </bean>

    <!-- 配置触发器 -->

    <bean id="jobDayCreateTransFileTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">

        <property name="jobDetail">

            <ref bean="jobDayCreateTransFile" /> <!-- 触发器触发的 执行定时任务的bean -->

        </property>

        <property name="cronExpression">

            <!-- 定时任务执行的间隔 -->

            <!-- 每天1时 -->

            <value>0 0 4 * * ?</value>

            <!-- 每30秒 -->

            <!-- <value>0/30 * * * * ?</value> -->

        </property>

    </bean>

    

    

    

        

    <!-- 配置执行D+1授权 定时任务的类和方法 -->

    <bean id="jobD1Open" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">

        <property name="targetObject">

            <bean class="com.impay.boss.controller.AgentHolidaySettleController"></bean>

        </property>

        <property name="targetMethod">

            <value>openMerchantD1Status</value>

        </property>

    </bean>

    <!-- 配置触发器 -->

    <bean id="jobD1OpenTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">

        <property name="jobDetail">

            <ref bean="jobD1Open" /> <!-- 触发器触发的 执行定时任务的bean -->

        </property>

        <property name="cronExpression">

            <!-- 定时任务执行的间隔 -->

            <!-- 每天23时 -->

            <value>0 00 23 ? * *</value>

            

        </property>

    </bean>

    

    

     <!-- 配置执行根据商户类别交易统计的类和方法 -->

    <bean id="merTypeTotal" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">

        <property name="targetObject">

            <bean class="com.impay.boss.controller.TotalController"></bean>

        </property>

        <property name="targetMethod">

            <value>totalTransFromaMerchantType</value>

        </property>

    </bean>

    <!-- 配置触发器 -->

    <bean id="merTypeTotalTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">

        <property name="jobDetail">

            <ref bean="merTypeTotal" /> <!-- 触发器触发的 执行定时任务的bean -->

        </property>

        <property name="cronExpression">

            <!-- 定时任务执行的间隔 -->

            <!-- 每天凌晨1点 -->

            <value>0 0 1 * * ?</value>

            

        </property>

    </bean>

    <!-- ======================== 调度工厂 ======================== -->

    <bean id="SpringJobSchedulerFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">

        <!--必须,QuartzScheduler 延时启动,应用启动后 QuartzScheduler 再启动 -->

        <property name="startupDelay" value="60" />

        <property name="triggers">

            <list>

                <ref bean="jobDayTotalTrigger" />

                <ref bean="jobDayCreateTransFileTrigger" />

                <ref bean="jobD1OpenTrigger" />

                <ref bean="merTypeTotalTrigger" />

            </list>

        </property>

        <property name="quartzProperties">

            <props>

                <prop key="org.quartz.scheduler.skipUpdateCheck">true</prop>

            </props>

        </property>

    </bean>

</beans>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: