0

複数のプログラム (それぞれ独自の JVM 内) が DB 操作を実行しているシステムで作業しています。

1 つのコンポーネント (A など) が MySQL のテーブル エントリを更新し、ステータスを「開始済み」から「完了」に更新し、別のデーモン (B など) が「完了」とマークされたすべてのエントリについてテーブルをチェックし、いくつかの操作を実行します。彼ら。

問題は、A が特定の時刻 t1 にエントリを更新すると、B は次のいずれかの後にのみこれらの変更を確認できることです。1. B を実行している jvm が再起動されたとき。2. 変更をチェックする B のスレッドが 1 時間か 2 時間停止したとき。(基本的に、「完了」ステータスのエントリをチェックするスレッドは、MySQL テーブルに繰り返しクエリを実行し、古いデータを取得しますが、ウィンドウの間、クエリの作成を停止します。ウィンドウが完了すると、同じクエリの作成を再開し、更新されたデータを取得します。ただし、時間 t1 とウィンドウの開始の間では、常に古いデータが取得されます)

4

0 に答える 0