關於Spring mvc注解中的定時任務的配置


關於spring mvc注解定時任務配置

簡單的記載:避免自己忘記,不是很確定我理解的是否正確。有錯誤地方望請大家指出。

1,定時方法執行配置:

  (1)在applicationContext.xml中加入以下配置

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

在xsi:schemaLocation地址下引入

http://www.springframework.org/schema/task  
        http://www.springframework.org/schema/task/spring-task-3.2.xsd  

加入task引入

<task:annotation-driven/>  

applicationContext.xml配置完成。

(2)在你需要定時的方法上面加入注解@Scheduled(fixedRate = 10 * 1000)

 /**
     * 每隔十分鍾執行一次
     * @Scheduled(fixedRate = 60 * 10 * 1000) 
     */
@Scheduled(fixedRate =  60 * 10 * 1000)
    public void handle() {
        //寫入自己的邏輯代碼
 }

到此我理解的第一種結束

2,在配置用xml配置定時任務

(1)新建一個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"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
     http://www.springframework.org/schema/beans/spring-beans-3.2.xsd">

    <!-- 自己定義的定時類  -->
    <bean id="smsAutoSendInfoQuartzJob" class="com.minxinloan.sms.auto.quartz.SmsAutoSendInfoQuartzJob" /><!-- 自己項目中需要定時的處理邏輯類 -->
    
    
    <bean id="smsAutoSendInfoDetail"
        class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <property name="targetObject">
            <ref bean="smsAutoSendInfoQuartzJob" /><!-- 注入需要定時執行的類  -->
        </property>
        <property name="targetMethod">
            <value>atuoRemitInfoTask</value> <!-- 類中的方法名稱配置  -->
        </property>
    </bean>
    <!-- 設置定時任務的時間  -->
    <bean id="smsAutoSendInfoTrigger"
        class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail">
            <ref bean="smsAutoSendInfoDetail" />
        </property>
        <property name="cronExpression">
            <value>0 0 * * * ?</value> <!-- 這個可能是每天早上凌晨觸發,這個參數我記不太清楚,自己可以根據需要查詢 -->
        </property>
    </bean>
    <!-- end -->
    <!-- 啟動觸發器的配置開始 -->
    <bean name="startCrmQuertz" lazy-init="true" autowire="no"
        class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="triggers">
            <list>
                <ref bean="smsAutoSendInfoTrigger" />
            </list>
        </property>
    </bean>
    <!-- 啟動觸發器的配置結束 -->
</beans>

(2)需要的jar包

Spring-context-support-3.2.2.jar包

差不多我理解的到此結束。

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM