2

春のアプリケーションを備えたクォーツスケジューラーがあります。

Quartz がジョブをトリガーするたびに、ジョブはリスト (犬のリストなど) を作成します。次回 Quartz が別のジョブをトリガーするときは、前のジョブで作成されたリストにアクセスする必要があります。どうすればこれを達成できますか。

オブジェクトの単一インスタンスを使用できません。このオブジェクトは、独自のリスト (牛のリスト、鳥のリストなど) を作成する他のプロセスで使用できるため

私が探している効果は、インスタンス変数とループ内で何かを実行することに似ています。ループ内でインスタンス変数を更新するたびに、インスタンス変数の新しい値はループの次の反復でアクセスできます。

前もって感謝します

4

1 に答える 1

2

すべてのジョブからアクセスできるグローバルストレージが必要です。Springでは、Beanをジョブに注入し、そのリストをBeanの1つに保持できます。を利用することもできますJobDataMap。ただし、コレクションをシリアル化し、逆シリアル化する場合があります。

問題は実際にはもっと複雑です。Quartzは複数のノードで実行できることに注意してください。その場合JobDataMap、データベースにBLOBとして保存されるか、データベースを自分で使用することになります(たとえば、ごとに1行)。

于 2013-01-25T19:30:26.943 に答える