現在、一般的な 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 プロパティはトリガーのセットを受け入れます。 さて、この記事はこれで終わりです。かなり良い内容ですが、いくつか欠点もあります。貴重なご意見をお聞かせください。

jvm'sperformanceiscompetitivewitherruntimes、sped、safety、andproductivityの提供

javaachievesplatformedentenceTheThejavavirtualMachine(JVM)、avainwithcodetorunonanyplatformwithajvm.1)codescompiledintobytecode、notmachine-specificcode.2)

thejvmisanabstractcomputingMachineCrucialForrunningJavaProgramsDuetoitsPlatForm-IndopentInterChitecture.Itincludes:1)ClassLoaderForloadingClasses、2)Runtimedataareaforforforatastorage、3)executionEngineWithinterter、Jitcompiler、およびGarbagecolfecolfecolfececolfecolfer

jvmhasacloserelationshiptheosasittrantesjavabytecodecodecodecodecodecodecodecodecodecodecodecodecodetructions、manageSmemory、およびhandlesgarbagecollection.thisrelationshipallowsjavatorunonvariousosenvirnments、Butalsedentsはspeedifediferentjvmbeviorhiorsandosendisfredediferentjvmbehbehioorysando

Javaの実装「Write and、Run Everywherewhere」はBytecodeにコンパイルされ、Java仮想マシン(JVM)で実行されます。 1)Javaコードを書き、それをByteCodeにコンパイルします。 2)JVMがインストールされたプラットフォームでByteCodeが実行されます。 3)Javaネイティブインターフェイス(JNI)を使用して、プラットフォーム固有の機能を処理します。 JVMの一貫性やプラットフォーム固有のライブラリの使用などの課題にもかかわらず、Woraは開発効率と展開の柔軟性を大幅に向上させます。

javaachievesplatformentenceTheTheTheJavavirtualMachine(JVM)、CodetorunondifferentoperatingSystemswithOutModification.thejvmcompilesjavacodeplatform-IndopentedbyTecodeを承認することを許可します

javaispowerfulfulduetoitsplatformindepentence、object-orientednature、richstandardlibrary、performancecapability、andstrongsecurityfeatures.1)platformendependenceallowseplicationStorunonaydevicesupportingjava.2)オブジェクト指向のプログラマン型

上位のJava関数には、次のものが含まれます。1)オブジェクト指向プログラミング、サポートポリ型、コードの柔軟性と保守性の向上。 2)例外処理メカニズム、トライキャッチ式ブロックによるコードの堅牢性の向上。 3)ゴミ収集、メモリ管理の簡素化。 4)ジェネリック、タイプの安全性の向上。 5)コードをより簡潔で表現力豊かにするためのAMBDAの表現と機能的なプログラミング。 6)最適化されたデータ構造とアルゴリズムを提供するリッチ標準ライブラリ。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

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

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

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