プロジェクトタスクのタイミングで使用し、レコードに関するエッセイを書きます。
まず、BeanはSpring構成ファイルapplicationContext.xmlをファイルにラベルを付ける追加
xmlns:タスク= "http://www.springframework.org/schema/task"
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task- 4.1.xsd
現在、私はスケジュールされたタスクを使用するには、2つの方法があります理解してください。
設定ファイルの1.宣言コール定期タスク
最初の文ではapplicationContext.xmlをファイルには、Beanと呼ばれます
< ビーンID = "quartzController" クラス= "com.bizdata.common.socket.web.resource.QuartzTaskController" > </ 豆>
次のメソッドを呼び出すためのJavaコードと
輸入java.text.SimpleDateFormatの。 輸入java.util.Date; 輸入org.springframework.stereotype.Controller; @Controller パブリック クラスQuartzTaskController { 公共 ボイドSYSTIME(){ てSimpleDateFormat SDF = 新しいてSimpleDateFormatを( "YYYY-MM-DD HH:MM:SS" )。 System.out.println(sdf.format(新しい日付())); } }
そして、オブジェクトのメソッド呼び出しを宣言し、オブジェクトを呼び出します
<! - コール・オブジェクトの定義と呼び出しオブジェクトメソッド- > < 豆ID = "myJobDetailA" クラス= "org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean" > < プロパティ名= "対象物体" REF = "quartzController" > < ! - 実行タイミングクラス- > </ プロパティ> < プロパティ名= "targetMethod" 値= "SYSTIME" > </ プロパティ> <! - プロセスの実行タイミング- > <プロパティ名=「同時」値=「false」に /> <! - タスクの同時実行を許可するかどうか。それは、スレッドを意味し、falseの場合は前処理された後まで待ってから、新しいスレッドを開始しなければならない- > </ 豆> <! - トリガ時間を定義します- > < 豆上記ID =「myTriggersA」 クラス=「ORGを.springframework.scheduling.quartz.CronTriggerFactoryBean " > < プロパティ名=" jobDetail " REF =" myJobDetailA " > </ プロパティ> < プロパティ名=" cronExpression " > < 値> 0 00 6 * *?</ 値> <! - 時間サイズの大小順、秒、秒、分、時間、日、月、年の順*いずれかから始まりますか?アンリミテッド- > </ プロパティ> </ 豆>
上記のタスク6:00毎朝コールを完了させるタイミングを設定します。
(使いやすさ、推奨される方法は、構成を大幅に節約します)を呼び出す2.ノート
applicationContext.xmlをファイルに自動的にスキャンBeanは、宣言しました:
<! - 豆のサポート注入オープンコメント- > < コンテキスト:注釈-config設定/> < コンテキスト:コンポーネント・スキャンのためのベース・パッケージ変更= "com.bizdata" />
一方、注釈は、コンフィギュレーションの呼び出しを追加します
<タスク:アノテーション・ドリブン/> <! - タイマーコメント- >
Javaコード
@Scheduled(クーロン= "0 0 22 * *?" ) パブリック ブールgetDataCenterData(){ カレンダーカレンダー = Calendar.getInstance(); calendar.add(Calendar.DATE、 -1 )。 リターンgetDataCenterData(calendar.getTime()); }
タスクの完了の時期、夜10時毎日コール。
上記の構成を使用してノートやり方は、あなたがスケジュールされたタスクのログを呼び出すときに例外を出力しますが、使用には影響しません、あなたはフィルタリングが可能log4j.propertiesファイルのログレベルでそれを追加することができます。
#タイマーはレベルログ
log4j.logger.org.springframework.scheduling = INFOを