ホームページ  >  に質問  >  本文

Java - メッセージキュー処理クリティカル時間の問題

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

phpcn_u1582phpcn_u15822682日前531

全員に返信(2)返信します

  • 黄舟

    黄舟2017-05-17 10:10:07

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

    返事
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-17 10:10:07

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

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

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

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

    参考:

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

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

    3. 重複検出

    返事
    0
  • キャンセル返事