アプリケーションでQuartzSchedulerフレームワークを使用したい。私は2種類のJobStoreに出くわしました。
1)RAMジョブストア
2)JDBCジョブストア。
どちらの場合、どのジョブストアを使用する必要があるのでしょうか。そして、それらの間の長所と短所は何ですか。
これについての考えは私にとって本当に役に立ちます、そして私はそれを感謝します。
アプリケーションでQuartzSchedulerフレームワークを使用したい。私は2種類のJobStoreに出くわしました。
1)RAMジョブストア
2)JDBCジョブストア。
どちらの場合、どのジョブストアを使用する必要があるのでしょうか。そして、それらの間の長所と短所は何ですか。
これについての考えは私にとって本当に役に立ちます、そして私はそれを感謝します。
JDBCジョブストアは、起動されたトリガーとジョブに関する情報をデータベースに保存します。
トリガーが発砲することになっているときにアプリケーションがダウンしていても発砲を失うことはありません(これは選択した失火命令によって異なります)
各ノードが同じデータベースを使用するスケジューラーをクラスター化できます
JDBCジョブストアはかなり遅い
RAMジョブストアは、起動を失うことが大した問題ではない非クラスター化アプリケーションにのみ適用できます。また、はるかに高速です。RAMジョブストアでQuartzを使用する場合は、Quartzはまったく必要ない可能性があります。SpringとEJBはどちらも、時間ベースとCRONベースの両方で定期的なジョブを実行するメカニズムを提供します。
RAM Job Storeは非常に高速ですが、非常に不安定です。サーバーの再起動後もジョブは存続しません。
JDBC Job Storeは少し遅いですが、ジョブは永続ストア(データベース)にあるため、再起動後も存続します。
したがって、短期間のジョブスケジュールしかなく、サーバーの再起動時またはアプリケーションの再デプロイ時にそれらを失っても問題がない場合は、RAMジョブストアを使用できます。
ジョブがシャットダウン/再起動後も存続することを保証する必要がある場合は、JDBCジョブストアを使用する必要があります。