Spring スケジュールされたタスクの使用手順
1.分類
実装テクノロジーの観点から見ると、現在 3 つの主要なテクノロジーがあります:
Java 独自の java.util.Timer クラス。このクラスを使用すると、java.util.TimerTask タスクをスケジュールできます。この方法を使用すると、指定した時間ではなく、特定の頻度でプログラムを実行できます。
Quartz を使用します。Quartz は、指定した時間または頻度でプログラムを実行できるようにする比較的強力なスケジューラーです。設定は少し複雑です。
Spring 3.0 以降に付属するタスクは軽量の Quartz とみなすことができ、Quartz よりもはるかに簡単に使用できます。
ジョブクラスの継承方法に関しては、次の 2 つのカテゴリに分類できます:
ジョブ クラスは、Quartz などの特定のジョブ クラスの基本クラスから継承する必要があり、継承する必要があります。 org.springframework.scheduling .quartz.QuartzJobBean から; java.util.Timer は java.util.TimerTask から継承する必要があります。
ジョブ クラスは通常の Java クラスであり、基本クラスから継承する必要はありません。
注: すべてのクラスは共通クラスであり、事前に特別に処理する必要がないため、個人的には 2 番目の方法を使用することをお勧めします。
タスクスケジューリングのトリガータイミングから、ジョブに使用されるトリガーは主に以下の2種類があります:
指定時間ごとにトリガー、Quartzで対応 トリガーは: org .springframework.scheduling.quartz.SimpleTriggerBean
は、指定された時間ごとに 1 回トリガーされます。 Quartz の対応するスケジューラーは次のとおりです。 org.springframework.scheduling.quartz.CronTriggerBean
注: 各タスクがこれら 2 つのトリガーを使用できるわけではありません。たとえば、java.util.TimerTask タスクは最初のタスクのみを使用できます。 Quartz と Spring タスクは両方とも、これら 2 つのトリガー条件をサポートできます。
2.使用方法
QuartzやSpringタスクなど、各タスクスケジューリングツールの使い方を詳しく紹介します。
Quartz
最初のタイプのジョブ クラスは、特定の基本クラス org.springframework.scheduling.quartz.QuartzJobBean を継承します。
ステップ 1: ジョブ クラスを定義する
import org.quartz.JobExecutionContext
import またはg.quartz.JobExecutionException
-
import org.springframework.scheduling.quartz.QuartzJobBean;
public class Job1 extends QuartzJobBean {
private - int timeout;
-
プライベート静的int i =
-
//スケジューリングファクトリーがインスタンス化された後、タイムアウト時間後にスケジューリングが開始されます
public void setTimeout( - int timeout) {
this.timeout = タイムアウト }
* スケジュールされる特定のタスク
*/
-
@オーバーライド
-
protected
voidexecuteInternal (JobExecutionContext コンテキスト) -
この行 JobExecutionException {
System.out.println("スケジュールされたタスクが実行中です...")
- }
- ステップ 2: Spring 構成ファイルでジョブ クラス JobDetailBean
-
beanname="job1"class="org.springframework.scheduling.quartz.JobDetailBean"> プロパティ
name=- "jobClass"
value="com.gy.Job1" /> property
name= - "jobDataAsMap"
&g マップ
> entry
key=- "timeout"
value="0" /& gt;
地図 > -
プロパティ
> 説明: org.springframework.scheduling.quartz.JobDetailBean には 2 つの属性があります。jobClass 属性は Java コードで定義するタスク クラスであり、jobDataAsMap 属性はタスク クラスに注入する必要がある属性値です。
- ステップ 3: ジョブ スケジューリングのトリガー方法 (トリガー) を構成する
Quartz には、org.springframework.scheduling.quartz.SimpleTriggerBeanorg.springframework.scheduling という 2 つのジョブ トリガーがあります。
最初の SimpleTriggerBean は、30 分ごとに実行するなど、特定の頻度でのタスクの呼び出しのみをサポートします。
Xmlコード
bean id="simpleTrigger"
class="org.springframework.scheduling .quartz.SimpleTriggerBean"
>プロパティname="jobDetail" ref="job1"
< ;property name="startDelay" value="0" /> property
name=- "repeatInterval"
value="2000" /> bean>
-
2 番目の CronTriggerBean は、毎日 12:00 に 1 回実行するなど、指定した時間に 1 回実行することをサポートします。 設定方法は以下の通りです: Xmlコード
beanid="cronTrigger"class="org.springframework.scheduling.quartz.CronTriggerBean">
プロパティ name="jobDetail" ref="job1"
> - < ;
プロパティname="cronExpression" value="0 0 12 * * ? />
豆
cronExpression 式の構文については、付録を参照してください。
ステップ 4: スケジューリングファクトリーを構成する
Xml コード
- bean
- >
参照
bean= - "cronTrigger"
リスト>
プロパティ > -
説明: このパラメータは、以前に構成されたトリガーの名前を指定します。
- ステップ 5: アプリケーションを起動し、プロジェクトを Tomcat または他のコンテナーにデプロイするだけです。
2 番目に、ジョブ クラスは特定の基本クラスを継承しません。
Spring は 2 つのクラスのおかげでこのメソッドをサポートできます:
class="org.springframework.scheduling.quartz.SchedulerFactoryBean" >
プロパティname="トリガー">
リストこれら 2 つのクラスは、Spring でサポートされる 2 つのタイプにそれぞれ対応します。タスクのスケジューリングを実装するには、前述したように Java に付属するタイマー タスク メソッドと Quartz メソッドを使用します。ここでは、MethodInvokingJobDetailFactoryBean の使用法についてのみ書きます。このクラスを使用する利点は、タスク クラスがクラスから継承する必要がなく、通常の pojo であることです。
ステップ 1: タスク クラスを作成する
Java コードpublic
class Job2 {
システム.out.println("QuartzJobBean モードを継承しません - スケジューリング中です...");
- }
}
-
これは通常のクラスであることがわかります。方法があります。
ステップ 2: ジョブ クラスを構成する - Xml コード
-
beanid="job2"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"&g t;
プロパティ name="targetObject">
-
bean class="com.gy.Job2" />
property>
property name="concurrent" value="false" /& gt;
-
bean>次の手順は方法 1 と同じです。完全を期すために、それらの手順も掲載します。 ステップ 3: ジョブ スケジューリングのトリガー方法 (トリガー) を構成する Quartz には、org.springframework.scheduling.quartz.SimpleTriggerBeanorg.springframework.scheduling という 2 つのジョブ トリガーがあります。
最初の SimpleTriggerBean は、30 分ごとに実行するなど、特定の頻度でのタスクの呼び出しのみをサポートします。 - 設定方法は以下の通りです:
Xmlコード
"simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerビーン」
> ;- "job2"
-
property name ="startDelay" value=
"0" /> -
property name="repeatInterval" value="2000" />
bean> 2 番目の CronTriggerBean は、毎日 12:00 など、指定された時間に 1 回実行することをサポートします。 設定方法は以下の通りです:
Xmlコード-
beanid="cronTrigger"class="org.springframework.scheduling.quartz.CronTriggerBean"> プロパティ name="jobDetail" ref=
"job2" -
> < ;
プロパティ name= - "cronExpression"
value="0 0 12 * * ? />
豆
- 上記の2つのスケジュール方法は、実際の状況に応じて選択できます。
ステップ 4: スケジューリングファクトリーを構成する
Xml コード
bean
class="org.springframework.scheduling.quartz.SchedulerFactoryBean"最初のステップ: ジョブクラスプロパティname="トリガー">
-
リスト>
参照 - bean=
"cronTrigger"
リスト> プロパティ>
bean- >
説明: このパラメータは、以前に構成されたトリガーの名前を指定します。
-
ステップ 5: アプリケーションを起動し、プロジェクトを Tomcat または他のコンテナーにデプロイするだけです。 この時点で、Spring の Quartz の基本構成が導入されました。もちろん、使用する前に、対応する Spring パッケージと Quartz パッケージをインポートする必要があります。
実際のところ、Quartz の構成は非常に複雑であることがわかります。Quartz は実際には重量級のツールなので、単純にスケジュールされたいくつかの単純なタスクを実行したい場合は、もっと単純なツールはありますか? ! - 以下の Spring タスクの紹介をご覧ください。
Spring-Task 前のセクションでは、Spring での Quartz の使用法を紹介しました。この記事では、Spring 3.0 以降の自社開発のスケジュールされたタスク ツールである Spring タスクを紹介します。これは、軽量の Quartz と比較することができ、使いやすいです。非常に簡単です。Spring 関連のパッケージを除いて追加のパッケージは必要ありません。これらの 2 つの方法を以下に紹介します。
最初の方法: 設定ファイルメソッド
、つまり通常のpojoを以下のように書きます:
Javaコード
import org.springframework.stereotype.Service;
@Service
public void job1() {
-
-
}
} - ステップ 2: Spring 構成ファイルのヘッダーに名前を追加する スペースと説明
「http://www.springframework.org/schema/task」
- xsi:schemaLocation=
"http://www.springframework.org/schema/task ">
ステップ 3: Spring 構成ファイルに特定のタスクを設定する -
タスク:スケジュール
ref= "taskJob" - method=
" job1"
cron= "0 * * * * ?" - />
タスク:スケジュールされたタスク
>
-
public
class TaskJob { - "0 0 3 * * ?")
-
public
void job1() { System.out.println("タスク進行中...") }
- }
-
Xml コード
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:context= "http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLocation="
"
default-lazy-init="false">
context:annotation-config />
>
context:component-scan base-package="com.gy.mytask" />
>
タスク:アノテーション駆動型 scheduler="qbScheduler" mode="proxy"/>
task:scheduler id="qbScheduler" pool-size="10"/>
注: 理論的には、構成文
を追加するだけで済みます。これらのパラメーターは必要ありません。 もちろん、Spring タスクにはまだ多くのパラメータがあります。詳細については、xsd ドキュメントを参照してください。
付録:
cronExpression の設定手順、具体的な使用法およびパラメータについては、Baidu google
フィールド 許可される値 許可される特殊文字
秒 0-59 , - * /
0 9 , - * /
時間 0-23 , - * /
日付 1-31 , - * ? / L W C
月 1-12 または 1 月-12 月 , - * /
平日 1 ~ 7 または SUN ~ SAT 、 - * ? / L C #
年 (オプション) 空白のまま、1970 ~ 2099 、 - * /
- 範囲
* ワイルドカード
?そのフィールドを設定する必要はありません
以下にいくつかの例を示します
CRON 式 意味
「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 分まで毎分トリガー
"0 0/5 14 * * ?" 毎日午後 2 時から午後 2:55 まで 5 分ごとにトリガー
"0 0/5 14,18 *** ?"午後2時〜2時55分と午後6時〜6時55分の2つの時間帯で
「0 0-5 14 * * ?」 毎日14:00〜14:05の毎分 1つのトリガー
「0 10,44 14 ? 3 WED」3月の毎週水曜日14:10と14:44にトリガー
「0 15 10 ? * MON-FRI」毎週月曜日、火曜日、水曜日の10:15にトリガー、木曜と金曜
-
以上がSpring スケジュールされたタスクの使用手順の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

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

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









mdf ファイルと mds ファイルの使用方法 コンピューター技術の継続的な進歩により、さまざまな方法でデータを保存および共有できるようになりました。デジタル メディアの分野では、特殊なファイル形式に遭遇することがよくあります。この記事では、一般的なファイル形式である mdf および mds ファイルについて説明し、その使用方法を紹介します。まず、mdf ファイルと mds ファイルの意味を理解する必要があります。 mdf は CD/DVD イメージ ファイルの拡張子で、mds ファイルは mdf ファイルのメタデータ ファイルです。

CrystalDiskMark は、シーケンシャルおよびランダムの読み取り/書き込み速度を迅速に測定する、ハード ドライブ用の小型 HDD ベンチマーク ツールです。次に、編集者が CrystalDiskMark と Crystaldiskmark の使用方法を紹介します。 1. CrystalDiskMark の概要 CrystalDiskMark は、機械式ハード ドライブとソリッド ステート ドライブ (SSD) の読み取りおよび書き込み速度とパフォーマンスを評価するために広く使用されているディスク パフォーマンス テスト ツールです。 ). ランダム I/O パフォーマンス。これは無料の Windows アプリケーションで、使いやすいインターフェイスとハード ドライブのパフォーマンスのさまざまな側面を評価するためのさまざまなテスト モードを提供し、ハードウェアのレビューで広く使用されています。

foobar2000 は、音楽リソースをいつでも聴くことができるソフトウェアです。あらゆる種類の音楽をロスレス音質で提供します。音楽プレーヤーの強化版により、より包括的で快適な音楽体験を得ることができます。その設計コンセプトは、高度なオーディオをコンピュータ上で再生可能 デバイスを携帯電話に移植し、より便利で効率的な音楽再生体験を提供 シンプルでわかりやすく、使いやすいインターフェースデザイン 過度な装飾や煩雑な操作を排除したミニマルなデザインスタイルを採用また、さまざまなスキンとテーマをサポートし、自分の好みに合わせて設定をカスタマイズし、複数のオーディオ形式の再生をサポートする専用の音楽プレーヤーを作成します。過度の音量による聴覚障害を避けるために、自分の聴覚の状態に合わせて調整してください。次は私がお手伝いさせてください

Spring+AI は業界リーダーとして、強力で柔軟な API と高度な機能を通じてさまざまな業界に最先端のソリューションを提供します。このトピックでは、さまざまな分野での Spring+AI の応用例を詳しく掘り下げ、Spring+AI がどのように特定のニーズを満たし、目標を達成し、これらの教訓をより広範囲のアプリケーションに拡張するかを示します。このトピックが Spring+AI の無限の可能性をより深く理解し、活用するきっかけになれば幸いです。 Spring フレームワークはソフトウェア開発の分野で 20 年以上の歴史があり、Spring Boot 1.0 バージョンがリリースされてから 10 年が経過しました。今、その春に異論を唱える人はいない

クラウド ストレージは今日、私たちの日常生活や仕事に欠かせない部分になっています。中国有数のクラウド ストレージ サービスの 1 つである Baidu Netdisk は、強力なストレージ機能、効率的な伝送速度、便利な操作体験により多くのユーザーの支持を得ています。また、重要なファイルのバックアップ、情報の共有、オンラインでのビデオの視聴、または音楽の聴きたい場合でも、Baidu Cloud Disk はニーズを満たすことができます。しかし、Baidu Netdisk アプリの具体的な使用方法を理解していないユーザーも多いため、このチュートリアルでは Baidu Netdisk アプリの使用方法を詳しく紹介します。まだ混乱しているユーザーは、この記事に従って詳細を学ぶことができます。 Baidu Cloud Network Disk の使用方法: 1. インストール まず、Baidu Cloud ソフトウェアをダウンロードしてインストールするときに、カスタム インストール オプションを選択してください。

NetEase Mailbox は、中国のネットユーザーに広く使用されている電子メール アドレスとして、その安定した効率的なサービスで常にユーザーの信頼を獲得してきました。 NetEase Mailbox Master は、携帯電話ユーザー向けに特別に作成された電子メール ソフトウェアで、電子メールの送受信プロセスが大幅に簡素化され、電子メールの処理がより便利になります。 NetEase Mailbox Master の使い方と具体的な機能について、以下ではこのサイトの編集者が詳しく紹介しますので、お役に立てれば幸いです。まず、モバイル アプリ ストアで NetEase Mailbox Master アプリを検索してダウンロードします。 App Store または Baidu Mobile Assistant で「NetEase Mailbox Master」を検索し、画面の指示に従ってインストールします。ダウンロードとインストールが完了したら、NetEase の電子メール アカウントを開いてログインします。ログイン インターフェイスは次のとおりです。

MetaMask (中国語ではリトル フォックス ウォレットとも呼ばれます) は、無料で評判の高い暗号化ウォレット ソフトウェアです。現在、BTCC は MetaMask ウォレットへのバインドをサポートしており、バインド後は MetaMask ウォレットを使用してすぐにログイン、値の保存、コインの購入などが可能になり、初回バインドで 20 USDT のトライアル ボーナスも獲得できます。 BTCCMetaMask ウォレットのチュートリアルでは、MetaMask の登録方法と使用方法、および BTCC で Little Fox ウォレットをバインドして使用する方法を詳しく紹介します。メタマスクウォレットとは何ですか? 3,000 万人を超えるユーザーを抱える MetaMask Little Fox ウォレットは、現在最も人気のある暗号通貨ウォレットの 1 つです。無料で使用でき、拡張機能としてネットワーク上にインストールできます。

スピーカーの再生ボタンを長押し後、ソフトウェア内でWi-Fiに接続すると使用可能になります。チュートリアル 該当するモデル: Xiaomi 12 システム: EMUI11.0 バージョン: Xiaoai Classmate 2.4.21 分析 1 まずスピーカーの再生ボタンを見つけ、長押ししてネットワーク配信モードに入ります。 2 携帯電話の Xiaoai Speaker ソフトウェアで Xiaomi アカウントにログインし、クリックして新しい Xiaoai Speaker を追加します。 3. Wi-Fi の名前とパスワードを入力した後、Xiao Ai に電話して使用することができます。補足: Xiaoai Speakerにはどのような機能がありますか? 1 Xiaoai Speakerには、システム機能、ソーシャル機能、エンターテイメント機能、ナレッジ機能、ライフ機能、スマートホーム、トレーニングプランがあります。概要/注意事項: 簡単に接続して使用するには、Xiao Ai アプリを事前に携帯電話にインストールしておく必要があります。
