1

現在、Quartzを使用していて、問題が発生しました。タスクを1つずつなど、ある順序で実行する必要があります。Quartzを使用して実装することは可能ですか?

4

2 に答える 2

2

必要なのはタスク/ジョブチェーン機能です。

自分で実装することも、クォーツが提供するJobChainingJobListenerに依存することもできます。

簡単な例:

chainListener = new JobChainingJobListener( "myChainListener" );
chainListener.addJobChainLink( job1.getKey(), job2.getKey() );

sched.scheduleJob( job1, trigger );
sched.addJob( job2, true );
sched.addGlobalJobListener( chainListener ); 
  sched.start(); 

あなたがそれをグーグルしようとすると、あなたはより多くの例/説明を得ることができると私は信じています。

少なくともそれはあなたにスタートを与えます。

幸運を。

于 2012-12-07T13:03:55.923 に答える
-2

はい、可能です。StatefulJobの使用を提案するつもりでしたが、その間非推奨になっていることがわかりました。彼らはDisallowConcurrentExecution代わりに注釈を使うと言っているので、あなたはそれで行くことができます。どちらも、現在のジョブが終了する前に2番目のジョブが実行されるのを防ぎます。2番目のジョブの実行は、最初のジョブが終了するまで遅延されます。最初のものが終わった直後に、遅れたものが始まります。

于 2012-12-07T10:48:35.950 に答える