国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

java - 消息隊列處理臨界時間問題

瀏覽:114日期:2023-11-28 08:05:45

問題描述

現在從消息隊列接收消息,然后寫入文件。每小時寫一個,是批量寫入。但是出現個問題,每次寫的新文件開頭都有一些應該屬于上個小時得數據,消息體有time。如何保證所有消息都嚴格寫入自己小時得文件。現在想到的是將批量寫入的buffer按小時區分,Map<hour,buffer>,一個buffer對應一個小時,以buffer 對應的小時字段生成文件名,這樣就保證每個buffer 里的數據都屬于自己的文件。還有其他更好的方法嗎?

問題解答

回答1:

文件在小時整點生成,每個消息都帶上各自的時間戳,匹配寫

回答2:

感覺你這個問題可能有以下幾個原因造成的:

producer重復發送了消息

mq重復發送了消息給consumer

前一小時consumer沒有告知mq已經消費消息,導致后一個小時mq又發送了消息

參考資料:

duplicated-messages-on-activemq

avoiding-duplicated-messages-on-jms-activemq

duplicate-detection

標簽: java
相關文章:
主站蜘蛛池模板: 聂荣县| 梁平县| 邮箱| 江川县| 五常市| 百色市| 信丰县| 保德县| 玉山县| 晋城| 江山市| 郓城县| 潍坊市| 郑州市| 泾阳县| 盐津县| 凉城县| 隆子县| 苏尼特右旗| 广西| 德江县| 泰安市| 绥江县| 江川县| 眉山市| 穆棱市| 遂平县| 武宣县| 曲靖市| 涞水县| 康平县| 阳江市| 邵阳市| 额济纳旗| 利津县| 岱山县| 资阳市| 郁南县| 灵丘县| 莱州市| 四川省|