經常有遇到需要定時同步資料的需求,現在分享下spring框架下使用quartz外掛程式實現定時執行程式的方法。
首先,要準備的是quartz外掛程式的架包,我測試的版本是:quartz-all-1.6.6.jar
建立定時任務所需的配置檔案,以「quartzconfig.xml」為例
<?xml version="1.0" encoding="utf-8"?>
syncustomer
此處呼叫的是com.***.customeraction類中的syncustomer方法,此方法無引數傳遞。
定時時間的格式為:[秒] [分] [小時] [日] [月] [周] [年]
'*' 表示所有值,'?' 表示不指定值,'-' 表示區間,','表示指定多個值。
提供幾個例子:
0 15 10 * * ? 2005 2023年每天10點15分觸發
0 15 10 ? * mon-fri 從周一到周五每天上午的10點15分觸發
0 0 12 1/5 * ? 每月的第乙個中午開始每隔5天觸發一次
0 11 11 11 11 ? 每年的11月11號 11點11分觸發(光棍節)
web.xml中配置載入quartzconfig.xml和監聽
contextconfiglocation
classpath:quartzconfig.xml
org.springframework.web.context.contextloaderlistener
可能會出現的問題,定時時間到時執行2次或多次所指定的方法
造成的原因可能是,在其他配置檔案中有重複載入監聽,或者是tomcat中有配置虛擬目錄,均需要仔細檢查配置檔案。
---end---
玩的愉快~
如何在Linux環境下實現定時執行PHP的計畫任務
實踐操作如下 1 工具 putty.exe 2 伺服器環境 ubuntu linux系統 thinkphp 3.1.3 php5.6 mysql 4 然後,在專案根目錄下建立cron.php,如下 url timeout 60 data array header array ch curl init...
使用Spring整合Quartz定時執行任務
在修改乙個專案的工程中。發現任務竟然沒有生成。多次檢視這個專案。終於在spring的配置中發現了定時任務。使用spring整合quartz來定時執行某個類中的方法。於是經過上網查資料,終於實驗成功了。1.首先匯入了spring的jar包和quartz的jar包 在spring的配置檔案中。把需要執行...
Linux下實現定時執行程式 crontab
在linux下,用crontab實現定時執行程式的功能。使用方式 crontab file u user 用指定的檔案替代目前的crontab。crontab u user 用標準輸入替代目前的crontab.crontab l user 列出使用者目前的crontab.crontab e user...