第4章spring實(shí)現(xiàn)任務(wù)調(diào)度_第1頁
第4章spring實(shí)現(xiàn)任務(wù)調(diào)度_第2頁
第4章spring實(shí)現(xiàn)任務(wù)調(diào)度_第3頁
第4章spring實(shí)現(xiàn)任務(wù)調(diào)度_第4頁
第4章spring實(shí)現(xiàn)任務(wù)調(diào)度_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第四章Spring實(shí)現(xiàn)任務(wù)調(diào)度1第三單元本章相關(guān)學(xué)習(xí)資源《優(yōu)化Spring的XML配置》專題《用Spring實(shí)現(xiàn)后臺任務(wù)調(diào)度》專題《使用Spring實(shí)現(xiàn)系統(tǒng)權(quán)限管理》第4章《Spring實(shí)現(xiàn)任務(wù)調(diào)度》第2頁/共24頁學(xué)習(xí)平臺“Spring與輕量級JavaEE開發(fā)”課程學(xué)生用書預(yù)習(xí)檢查配置外部properties文件有什么好處?舉例說明需要使用自動任務(wù)調(diào)度的場合,至少3個第3頁/共24頁提問本章任務(wù)任務(wù)1:優(yōu)化Spring的XML文件配置任務(wù)2:使用自動任務(wù)調(diào)度實(shí)現(xiàn)定時工資計算第4頁/共24頁掌握配置外部properties文件掌握Spring配置文件拆分掌握自動任務(wù)調(diào)度本章目標(biāo)第5頁/共24頁點(diǎn)重點(diǎn)重講解:任務(wù)1優(yōu)化Spring的XML文件配置實(shí)現(xiàn)要點(diǎn)配置外部properties文件對Spring配置文件進(jìn)行拆分第6頁/共24頁演示示例:優(yōu)化Spring的XML文件配置串講:配置外部properties文件為避免對復(fù)雜的Spring配置文件進(jìn)行修改,可以把數(shù)據(jù)庫連接的信息放在properties文件中,代碼如下:第7頁/共24頁jdbc.driverClassName=oracle.jdbc.driver.OracleDriverjdbc.url=jdbc:oracle:thin:@localhost:1521:orcljdbc.username=scottjdbc.password=tiger串講:配置外部properties文件Spring配置文件引入properties文件:第8頁/共24頁<beanclass="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><propertyname="location"><value>classpath:perties</value></property></bean><beanid="dataSource"destroy-method="close"class="com.mchange.v2.c3p0.ComboPooledDataSource"><propertyname="driverClass"value="${jdbc.driverClassName}"></property><!—其他配置--></bean>使用location屬性配置文件路徑使用${key}取得對應(yīng)值串講:拆分Spring配置文件第9頁/共24頁為什么要拆分Spring配置文件?對象過多時,文件臃腫、可讀性差、不易修改當(dāng)項(xiàng)目處在源代碼管理器下,拆分文件后可以防止多個組員爭用同一個配置文件常用的拆分方式:按模塊拆分配置文件,然后使用<import>標(biāo)簽把他們組合在一起也可以通過修改web.xml的<context-param>節(jié)點(diǎn)來加載多個配置文件串講:拆分Spring配置文件第10頁/共24頁使用<import>標(biāo)簽整合配置文件:<beansxmlns=""><!—dataSource等配置--><importresource="applicationContext-user.xml"/><importresource="applicationContext-house.xml"/></beans>各個模塊的配置文件配置web.xml的<context-param>節(jié)點(diǎn):<context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext*.xml</param-value></context-param>使用通配符缺點(diǎn):在非Web環(huán)境下不方便進(jìn)行測試上機(jī)練習(xí)需求說明優(yōu)化Spring的XML文件配置參照任務(wù)1的案例完成第11頁/共24頁完成時間:20分鐘共性問題集中講解講解:任務(wù)2使用自動任務(wù)調(diào)度實(shí)現(xiàn)定時工資計算實(shí)現(xiàn)要點(diǎn)Spring框架中使用Quartz來實(shí)現(xiàn)記住自動任務(wù)調(diào)度配置的關(guān)鍵代碼重點(diǎn)掌握CronTriggerBean的使用第12頁/共24頁演示示例:使用自動任務(wù)調(diào)度實(shí)現(xiàn)定時工資計算串講:自動任務(wù)調(diào)度第13頁/共24頁使用場合舉例:電信公司月底自動計算客戶的話費(fèi)定時自動備份數(shù)據(jù)庫基本概念:作業(yè):指需要被執(zhí)行的任務(wù),可以封裝成方法觸發(fā)器:觸發(fā)作業(yè)方法的調(diào)用,它決定了何時進(jìn)行作業(yè)串講:自動任務(wù)調(diào)度實(shí)現(xiàn)步驟第14頁/共24頁實(shí)現(xiàn)步驟:添加jar文件:quartz-all-x.x.x.jar編寫作業(yè)代碼,并配置到Spring容器中添加并配置觸發(fā)器把觸發(fā)器添加到任務(wù)調(diào)度工廠對象中串講:實(shí)現(xiàn)作業(yè)第15頁/共24頁計算工資的作業(yè)類:publicclassCountSalaryJob{publicvoidexecute(){System.out.println("執(zhí)行計算工資的作業(yè),執(zhí)行時間:"+newDate());}}配置方法調(diào)用器:<beanid="countSalaryJob"class="com.pb.quartz.CountSalaryJob“/><beanid="methodInvokingJobDetail"class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"><propertyname="targetObject"ref="countSalaryJob"></property><propertyname="targetMethod"value="execute"></property></bean>根據(jù)配置調(diào)用方法串講:簡單觸發(fā)器第16頁/共24頁簡單觸發(fā)器可以循環(huán)調(diào)用作業(yè)方法:<beanid="simpleTrigger"class="org.springframework.scheduling.quartz.SimpleTriggerBean"><propertyname="jobDetail"ref="methodInvokingJobDetail"></property><propertyname="startDelay"value="5000"></property><propertyname="repeatInterval"value="1000“></property><propertyname="repeatCount"value="10"></property></bean>作業(yè)的方法調(diào)用器啟動作業(yè)的延遲時間重復(fù)作業(yè)的間隔時間重復(fù)作業(yè)的次數(shù)串講:定時觸發(fā)器第17頁/共24頁定時觸發(fā)器可以定時調(diào)用作業(yè)方法:<beanid="cronTrigger"class="org.springframework.scheduling.quartz.CronTriggerBean"><propertyname="jobDetail"ref="methodInvokingJobDetail"/><propertyname="cronExpression"value="*****?"/><propertyname="startDelay"value="2000"/></bean>作業(yè)的方法調(diào)用器啟動作業(yè)的延遲時間作業(yè)調(diào)度的規(guī)則表達(dá)式串講:作業(yè)調(diào)度的規(guī)則表達(dá)式第18頁/共24頁規(guī)則表達(dá)式的基本寫法:second

minute

hour

dayOfMonth

month

dayOfWeek

[year],如:001216?是指6月份第一天的12:00整常用匹配字符的含義:*:匹配任意值,例如秒的值是*,則代表每秒都觸發(fā)作業(yè)?:由于dayOfMonth和dayOfWeek可能沖突,?表示不考慮某個值,如0012?*1表示每個星期的星期日12:00觸發(fā)作業(yè),而不考慮在月中的天數(shù)-:表示范圍,如second取值5-10,則表示一分鐘的5秒到10秒之間每秒觸發(fā)一次觸發(fā)作業(yè),:表示枚舉值,如second取值5,10,則表示一分鐘的5秒和10秒分別觸發(fā)一次作業(yè)L:表示最后,如000L6?表示6月的最后一天0:00觸發(fā)作業(yè)串講:任務(wù)調(diào)度工廠第19頁/共24頁把觸發(fā)器添加到任務(wù)調(diào)度工廠:<beanid="schedulerFactory"class="org.springframework.scheduling.quartz.SchedulerFactoryBean"><propertyname="triggers"><list><reflocal="simpleTrigger"/><reflocal="cronTrigger"/></list></property></bean>任務(wù)調(diào)度工廠類觸發(fā)器集合可配置多個觸發(fā)器上機(jī)練習(xí)需求說明使用自動任務(wù)調(diào)度實(shí)現(xiàn)定時工資計算每秒執(zhí)行一次作業(yè)使用簡單觸發(fā)器和定時觸發(fā)器分別實(shí)現(xiàn)參照任務(wù)2的案例完成第20頁/共24頁完成時間:20分鐘共性問題集中講解答疑時間同學(xué)們請就以下方面的問題請教老師(教員備課時自行填寫)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論