現在、一般的な Spring タイマー構成には、Java の Timer クラスと OpenSymphony の Quartz の 2 つがあります。
1.Javaタイマーのタイミング
まず、java.util.TimerTaskクラスを継承して、Spring
で定義されたrunメソッドimport java.util.TimerTask; public class EmailReportTask extends TimerTask{ @Override public void run() { ... } }を実装します...Springタイマーを設定します
<bean id="scheduleReportTask" class="org.springframework.scheduling.timer.ScheduledTimerTask"> <property name="timerTask" ref="reportTimerTask" /> <property name="period"> <value>86400000value> property> bean>timerTask属性は、Scheduled TimerTask にどれを実行するかを指示します。 86400000 は 24 時間を表しますSpring タイマーの開始Spring の TimerFactoryBean はスケジュールされたタスクの開始を担当します
<bean class="org.springframework.scheduling.timer.TimerFactoryBean"> <property name="scheduledTimerTasks"> <list><ref bean="scheduleReportTask"/>list> property> bean>scheduledTimerTasks は、開始する必要があるタイマー タスクのリストを表示します。 遅延属性を設定することで開始を遅らせることができます
<bean id="scheduleReportTask" class="org.springframework.scheduling.timer.ScheduledTimerTask"> <property name="timerTask" ref="reportTimerTask" /> <property name="period"> <value>86400000value> property> <property name="delay"> <value>3600000value> property> bean>このタスクを24時間ごとに実行することのみを規定でき、特定の時間に開始することはできません2.クォーツタイマーまずはQuartzJobBeanクラスを継承してexecuteInternalメソッドを実装します
import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.springframework.scheduling.quartz.QuartzJobBean; public class EmailReportJob extends QuartzJobBean{ protected void executeInternal(JobExecutionContext arg0) throws JobExecutionException { ... } }はSpringで定義されています
<bean id="reportJob" class="org.springframework.scheduling.quartz.JobDetailBean"> <property name="jobClass"> <value>EmailReportJobvalue> property> <property name="jobDataAsMap"> <map> <entry key="courseService"> <ref bean="courseService"/> entry> map> property> bean>ここではEmailReportJob Beanを直接宣言するのではなく、JobDetailBeanを宣言します。これがクォーツの特徴です。 JobDetailBean は Quartz の org.quartz.JobDetail のサブクラスであり、jobClass 属性を通じて Job オブジェクトを設定する必要があります。 Quartz の JobDetail の使用に関するもう 1 つの特別な点は、EmailReportJob の courseService 属性が間接的に設定されることです。 JobDetail の jobDataAsMap プロパティは、jobClass に設定されたさまざまなプロパティを含む Map を受け入れます。 JobDetailBean がインスタンス化されると、EmailReportJob の courseService プロパティに courseService Bean が挿入されます。 タイマーの開始
Quartz の org.quartz.Trigger クラスは、Quartz ジョブを実行するタイミングと頻度を記述します。 Spring は、SimpleTriggerBean と CronTriggerBean の 2 つのトリガーを提供します。
<bean id="simpleReportTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean"> <property name="jobDetail" ref="reprotJob" /> <property name="startDelay"> <value>360000value> property> <property name="repeatInterval"> <value>86400000value> property> bean>startDelay も 1 時間遅れて開始されます CronTriggerBean はジョブの正確な実行時間を指定します 属性 cronExpression を指定します。いつトリガーするかを伝えます。最も謎に満ちているのは cron 式です。Cron は通常、Linux システムでスケジュールされたタスクを担当します。 cron 式には、スペースで区切られた少なくとも 6 つ (おそらく 7 つ) の時間要素が含まれます。左から右へ: 1. 秒 2. 分 3. 時間 4. 日付 (1 ~ 31) 5. 月 (1 ~ 12 または 1 月 ~ 12 月) 6. 曜日 (1 ~ 7 またはSUN-SAT) 7. 年 (1970-2099)
各要素には、値 (6 など)、間隔 (9-12)、リスト (9、11、13)、またはワイルドカード (*) が表示されます。 2 つの要素 4 と 6 は相互に排他的であるため、設定したくないフィールドを示すには疑問符 (?) を設定し、値の組み合わせが繰り返し回数を示す場合は「/」を設定する必要があります (10/6 は繰り返しを意味します) 10秒ごとに6本(二流)。
<bean id="cronReportTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail" ref="reprotJob" /> <property name="cronExpression"> <value>0 0 6 * * ?value> property> bean>triggers プロパティはトリガーのセットを受け入れます。 さて、この記事はこれで終わりです。かなり良い内容ですが、いくつか欠点もあります。貴重なご意見をお聞かせください。

この記事では、Javaプロジェクト管理、自動化の構築、依存関係の解像度にMavenとGradleを使用して、アプローチと最適化戦略を比較して説明します。

この記事では、MavenやGradleなどのツールを使用して、適切なバージョン化と依存関係管理を使用して、カスタムJavaライブラリ(JARファイル)の作成と使用について説明します。

この記事では、カフェインとグアバキャッシュを使用してJavaでマルチレベルキャッシュを実装してアプリケーションのパフォーマンスを向上させています。セットアップ、統合、パフォーマンスの利点をカバーし、構成と立ち退きポリシー管理Best Pra

この記事では、キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPAを使用することについて説明します。潜在的な落とし穴を強調しながら、パフォーマンスを最適化するためのセットアップ、エンティティマッピング、およびベストプラクティスをカバーしています。[159文字]

Javaのクラスロードには、ブートストラップ、拡張機能、およびアプリケーションクラスローダーを備えた階層システムを使用して、クラスの読み込み、リンク、および初期化が含まれます。親の委任モデルは、コアクラスが最初にロードされ、カスタムクラスのLOAに影響を与えることを保証します


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

Dreamweaver Mac版
ビジュアル Web 開発ツール

ドリームウィーバー CS6
ビジュアル Web 開発ツール
