2011-11-17 20 views
3

@Schedule EJBアノテーションを使用して、スケジュールされたジョブを開始します。デルタSOLRインポートはx秒ごとに実行されます。もちろん、できるだけインデックスを作成する際にタイムシフトを少なくしたいと考えています。現在私はデルタを5秒ごとに実行しようとしています。@Scheduleメソッドを一度に1回だけ呼び出す方法

私の質問は次のとおりです。ジョブは一度しか呼び出されないことを確認できますか? インデックス作成が5秒以上続くとします。次のスケジュールは、前のスケジュールに戻るまで待機しますか?

答えて

3

はい。 Beanを@Singletonにして@Lock(LockType.Write)を使用すると、タイマーが並行して実行されないようにすることができます。シングルトンのデフォルトはLockType.Writeです。だから、注釈付きで明示的に言及する必要はないだろう。

関連する問題