響應式網站建設案例淘寶數據查詢
使用說明
建議在B端使用,不推薦C端使用
功能
- 事務提交之后推送MQ
a. 當一個程序中有多個MQ需要推送時,可以在事務內任意位置調用發(fā)送MQ方法,而不會因為程序報錯而導致數據不一致問題. - 事務提交之后發(fā)起子線程執(zhí)行異步任務
- 程序中靈活指定時間執(zhí)行子任務
a. 例如:業(yè)務要求執(zhí)行A業(yè)務邏輯過后5min執(zhí)行B業(yè)務邏輯 - 失敗任務可自動重試,失敗次數達到一定次數后可人工手動重試
- 失敗任務支持批量重置狀態(tài)
- 可配置任務優(yōu)先級,優(yōu)先級高的優(yōu)先執(zhí)行
自動重試/定時執(zhí)行原理:
將任務參數數據持久化:
a. 執(zhí)行任務的參數
b. 執(zhí)行任務時現Handler的beanName
c. 指定執(zhí)行時間
通過在后臺啟用一個ScheduledThreadPool線程池,定時執(zhí)行掃描未完成的任務,失敗狀態(tài)的任務不掃描
如何引入
com.hete.support
xx-consistency-starter
如果需要通過一致性框架發(fā)送mq,需要引入xx-rocketmq-starter
com.hete.support
xx-rocketmq-starter
如何配置
hete:
consistency:
background-polling: true
db-clear-job-start-hour: 18
handler-pool-config:
testDemo:
core-pool-size: 4
keep-alive-seconds: 5
max-pool-size: 5
queue-capacity: 10
handler-info-map:
testDemo:
priority: 50
future-timeout: 2
mq-info:
goodsCreateHandler:
topic: topic_plm
tag: tag_create_goods
goodsDetailHandler:
topic: topic_plm
tag: tag_goods_detail
// 其他配置: redis配置,mysql配置,mq配置
配置說明:
配置項 說明 默認值
retention-hour 歷史數據的保留時間(從創(chuàng)建開始計算的時間) 24
retention-hour-for-fail-msg 失敗的歷史數據的保留時間(從創(chuàng)建開始計算的時間) 72
default-interval-minutes 任務執(zhí)行失敗后,默認的間隔時間 1
db-clear-job-start-hour DB清理任務,開始時間(小時) UTC 時間 例如,北京時間凌晨2點 = UTC時間 18點, 這里就要輸入18 0
pool-config 線程池配置
handler-pool-config 處理器的線程池配置
default-max-exec-count 任務最大可自動重試次數 3
background-polling 后臺執(zhí)行開關 true
db-clear-job-start-hour 后臺清楚過期任務時間 0
handler-pool-config 線程池配置
priority 優(yōu)先級,值越小優(yōu)先級越高,最高為0 50
future-timeout 后臺任務線程future.get(long timeout)的超時時間,單位秒 2
mq-info mq配置
topic RocketMQ的topic
tag RocketMQ的tag
版本更新
1.0.0
1.