私は最近多くのメールを受け取りましたが、全員がSpring BootがQuartzを統合して複数のタイミングタスクを実装する方法を知りたいと思っています。生産に複数のタイミングタスクを使用していないため、実装のアイデアを教えてくれます。
1.次のように、2つの新しいタイミングタスクを作成します。
public class scheduledjobを実装します(@Override public void execute(jobexecutioncontextコンテキスト)jobexecutionexception {system.out.println( "スケジュールjob1が実行されています……………………………………………………………"); }} public class scheduleDjob2を実装しますjob {@Override public void execute(jobexecutioncontextコンテキスト)jobexecutionexception {system.out.println( "スケジュールジョブ2が実行されています…………………………………………………”); }}2。上記の2つのタスクを構成します
@component public class scheduleralljob {@autowired private schedulerfactorybean schedulerfactorybean; /**ここでは、データベース操作を挿入してすべてのタスク構成をクエリすることができます*// ***このメソッドは、すべてのタイミングされたタスクを開始するために使用されます* @throws schedulexception*/ public void scheduleJobs()Sthrows schedulerexception {scheduler scheduler = schedulerfactorybean.getscheduler(); / ** * */ schedulejob1(scheduler); schedulejob2(スケジューラ); }/** * job1 *ここのタスクを構成してプロパティまたはデータベースに配置できます *この時点で動的タイミングタスクを実行する必要がある場合は、http://blog.csdn.net/liuchuanhong1/article/article/details/608732955 * speduul class * anparfreshedatabaseを参照してください。 @Throws ScheduleRexception * / private void scheduleJob1(スケジューラスケジューラ)スケジュール{ / * *スロースケート{ / * *ここで、最初にタスク名でデータベースをクエリすることができます。データベースにタスクが存在する場合は、タスクの構成を更新し、SchedulereFreshDataBaseクラスのメソッドに従ってトリガー *タスクがこの時点でデータベースでクエリされていない場合は、以下の手順に従って新しいタスクを作成し、初期化パラメーターを構成し、データベースの構成 */ JobDetail = job detail = job -detail = job -detail = job -detail = job -detail = jobdetail = job detail = job -detail = job -detail = job -detail = job -detail everderdeTailに.withidentity( "job1"、 "group1")。build(); // cronschedulebuilder schedulebuilder = cronschedulebuilder.cronschedule( "0/5 * * *?"); crontrigger crontrigger = triggerbuilder.newtrigger()。 scheduler.schedulejob(jobdetail、crontrigger); } / ** * job * @param scheduler * @throws schedulerexception * / private void schedulejob2(スケジューラスケジューラ)スケジュールエクセプション{jobdetail jobdetail = jobbuilder.newjob(scheduledjob2.class).withidentity( "job2"、 "group1"。 cronschedulebuilder schedulebuilder = cronschedulebuilder.cronschedule( "0/10 * * * *?"); // crontriggerは10秒ごとに実行されますcrontrigger = triggerbuilder.newtrigger()。 scheduler.schedulejob(jobdetail、crontrigger); }}3. 2つのタスクを開始します
@configuration @enableScheduling @component public class schedulerlistener {@autowired public scheduleralljob myscheduler; /** *起動時にこのメソッドを実行するか、applicationlistenerを使用してスタートアップでメソッドを実行します *特定の使用については、http://blog.csdn.net/liuchuanhong1/article/details/77568187 * @@throws schedectice */@schedured(cron = "08 18") schedulerexception {myscheduler.schedulejobs(); } @bean public Schedulerfactorybean schedulerfactorybean(){schedulerfactorybean schedulerfactorybean = new SchedulerFactoryBean(); Return SchedulerFactoryBean; }}4.テスト結果は次のとおりです
スケジュールjob1が実行されています…………………………………スケジュールJob2が実行されています………………………………スケジュールjob1が実行されています………………………………スケジュールJob1が実行されています…………………………………スケジュールジョブ1が実行中です………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….. Job1が実行されています……………………………………………………スケジュールJob1が実行されています……………………………………………………………スケジュールJob1 is is is is is is is is is running……………………………………………………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………。 ……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………。 ………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………。
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。