Java - メッセージキュー処理クリティカル時間の問題
phpcn_u1582
phpcn_u1582 2017-05-17 10:08:07
0
2
610

次に、メッセージ キューからメッセージを受信し、ファイルに書き込みます。 1 時間ごとに 1 つ書き込みます。これはバッチ書き込みです。しかし問題があり、新しいファイルが書き込まれるたびに、前の 1 時間に属するはずのデータが先頭に存在し、メッセージ本文には時間が含まれます。すべてのメッセージが厳密に自分のファイルに書き込まれることを保証する方法。私が今考えているのは、バッチで書き込まれたバッファを時間ごとに分割し、Map、1 つのバッファが 1 時間に対応し、ファイル名がバッファに対応する時間フィールドに基づいて生成されることです。各バッファ内のデータがそれ自体に属することを確認します。他に良い方法はありますか?

phpcn_u1582
phpcn_u1582

全員に返信(2)
黄舟

ファイルは正時に生成され、各メッセージには書き込み内容に一致する独自のタイムスタンプが付けられます

いいねを押す +0
我想大声告诉你

あなたの問題は次の理由によって引き起こされていると思われます:

  1. プロデューサーは繰り返しメッセージを送信しました

  2. mq が消費者にメッセージを繰り返し送信しました

  3. コンシューマは 1 時間前にメッセージを消費したことを mq に通知しなかったため、mq は次の 1 時間に別のメッセージを送信することになりました

参考:

  1. activemq 上の重複メッセージ

  2. jms-activemq での重複メッセージの回避

  3. 重複検出

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート