春にクォーツを構成するプロセス:
1。JARパッケージをインポートします
Quartzが必要とするJARパッケージは、春の減圧後にディレクトリのQuartz-all-1.6.1.jar Under /lib /Quartzにある春に既に含まれています。
プロジェクトのWeb-INF/LIBにコピーするだけです。
2。springが起動するときにQuartz構成ファイルをロードするようにWeb.xmlを構成します
<?xml version = "1.0" encoding = "utf-8"?> <web-appバージョン= "2.5" xmlns = "http://java.sun.com/xml/ns/javaee" xmlns:xsi = "http://www.w3.org/2001/xmlschema-instcance" xsi:schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/ns/javaee/web-app_55.xsd"> < <param-name> contextconfiglocation </param-name> <param-value> classpath:application-*。xml </param-value> </context-param> <! - spring reastin-> <リスナー> <リスナークラス> org.springframework.web.context.contextloaderlistener <リスナー<
3。Quartz構成の書き込みファイル:Application-Quartz.xml実際、これらの構成は他のSpring構成ファイルで記述できます。
<?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:aop = "http://www.springframework.org/schema/aop" xmlns:tx = "http://www.springframework.org/schema/tx" xsi:schemalocation = "http://ww.springframework http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/エンティティ - > <bean id = "testtaskbean" /> <! - タイミング更新ポリシータスク方法 - > <bean id = "testtasktimermethod"> <プロパティ名= "ターゲットオブジェクト" ref = "testtaskbean" /> <! - タイミング実行の構成のためのターゲットメトッドメソッド名 - </bean> <! - タイミング更新ポリシートリガー - > <bean id = "testtasktrigger"> <プロパティ名= "jobdetail" ref = "syncpolicytasktimermethod"/> <! - 3分ごとに0番目の2番目の> <プロパティname = "cronexpression" value = "0/3 * *?" /> </bean> <! - カスタムタスクリスト - > <bean id = "scheduler"> <プロパティ名= "トリガー"> <list> <ref bean = "testtasktrigger"/> </list> </property> </bean> </beans> </bean
4.タスクを実行するJavaクラスのテストタスクを作成します
パッケージcom.jp.task; org.quartz.jobexecutionContextをインポートします。 org.quartz.jobexecutionexceptionをインポートします。 org.springframework.scheduling.quartz.quartzjobbeanをインポートします。パブリッククラスのテストタスクはQuartzjobbeanを拡張します{logger log = logger.getLogger(policyServicetest.class); public void execteAction(){log.info( "hello quartz"); } @Override Protected void executeinternal(jobexecutioncontext arg0)jobexecutionexception {}}をスロー5.すべての作業は準備ができて実行されます。基本的に、エラーが報告されました。 Nosuchmethodエラーについてです。
これは、Commons-Collections.jarのバージョンが低いためです。 Commons-Collections-3.2.jar以上が必要です。
現時点では、プロジェクトでCommons-Collections-3.2.Jarを探しています。どうしたの?もう一度探すと、冬眠にコモンズコレクション2.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.
Commons-Collections-2.1.1.jarを削除するだけです。
PS:cronexpression-クローン式の説明
以下に示すように、Cronトリガーは一連の特殊文字を利用しています。
バックスラッシュ(/)文字は、増分値を示します。たとえば、秒単位では、「5/15」は5秒から15秒ごとに始まることを意味します。
質問マーク(?)文字と文字L文字は、月の日付と週のフィールドの日付のみで利用できます。疑問符は、このフィールドに特定の値が含まれていないことを示しています。したがって、月以内に日付を指定した場合、「?」を挿入できます。 1週間内の日付では、1週間内の日付値が重要ではないことを示します。文字l文字は、最後の略語です。それをイントラモンスの日付フィールドに置いてください。つまり、月の最終日に実行される予定です。 「L」が単独で存在する場合、イントール日付のフィールドでは、「7」に等しくなります。そうしないと、月の内部日付の最後のインスタンスを表します。したがって、「0L」とは、月の最後の日曜日に実行される予定であることを意味します。
月の日付フィールドの文字(w)文字は、指定された値に最も近い就業日に実行されます。月の日付フィールドに「1W」を置くことは、月の最初の営業日内に実行がスケジュールされることを意味します。
ポンドサイン(#)文字は、特定の月の特定の営業日インスタンスを指定します。イントールデートのフィールドに「月#2」を置くということは、月の第2月曜日にタスクをスケジュールすることを意味します。
アスタリスク(*)文字はワイルドカード文字であり、フィールドが可能な値を受け入れることができることを意味します。
フィールド許容値によって許可される特殊文字:
0-59秒、 - * /
0-59、 - * /
時間0-23、 - * /
日付1-31、 - *? / LWC
1〜12ヶ月または1月 - 〜- * /
1〜7週またはSun-Sat、 - *? / LC#
年(オプション)空白のまま、1970-2099、 - * /
表現の意味
「0 0 12 * *?」毎日正午にトリガーされます
"0 15 10? * *"毎日午前10時15分にトリガー
「0 15 10 * *?」毎日午前10時15分にトリガーされます
"0 15 10 * *? *"午前10時15分に毎日トリガー
「0 15 10 * *?2005」2005年の毎日午前10時15分にトリガー
「0 * 14 *?」午後2時から午後2時59分に1分ごとにトリガーします
「0/514 *?」毎日午後2時から午後2時55分まで5分ごとにトリガー
"0/5 14,18 *?"午後2時55分から午後6時55分から午後6時55分、5分ごとに5分ごとにトリガーされました
「0 0-5 14 *?」毎日午後2時から午後2時5分まで1分ごとにトリガー
"0 10,44 14?3 Wed"毎週水曜日の午後2時10分と午後2時44分にトリガー
「0 15 10? *月曜日」は、月曜日から金曜日の午前10時15分からトリガーされました
「0 15 10 15 *?」毎月15日の午前10時15分にトリガー
「0 15 10 l *?」毎月午前10時15分にトリガー
「0 15 10? * 6L」は、毎月最終金曜日の午前10時15分にトリガーされました
「0 15 10? * 6L 2002-2005」は、2002年から2005年までの毎月の最後の金曜日の午前10時15分にトリガーされました
"0 15 10? * 6#3"毎月午前10時15分に毎月午前6時に午前6時にトリガー
0 6 * * *
2時間ごとに
0 */2 * * *
午後11時から午前8時、午前8時までの2時間ごとに
0 23-7/2、8 * * *
毎月4日、月曜日から水曜日の午前11時
0 11 4 * 1-3
1月1日午前4時
0 4 1 1 *