代码拉取完成,页面将自动刷新
同步操作将从 syu/loop-cure 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
对于非数据原因导致失败的业务建立重试补偿机制。具体业务场景比如:微信支付通知,第三方通知失败等
1、引入依赖(下载项目,生成本地jar包,推送到本地maven)
<dependency>
<groupId>com.syu</groupId>
<artifactId>loop-cure</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
2、建表,ddl
3、使用@CompensatorLog注解
maxRetryTimes:补偿最大尝试次数(默认2次);
waitSeconds:重试时间间隔(秒,默认60),每次间隔相同,填写单一数字,譬如:60;每次间隔不同,填写多个数字且使用逗号连接,譬如:60,300;
需要重试,通过 throw new CompensatorBusinessException 触发
@CompensatorLog(maxRetryTimes=5,waitSeconds="10")
public void test(String userId, String merCode) {
int randomInt = (int) (Math.random()*(99)+1);
if ( randomInt < RANDOM_TOP) {
throw new CompensatorBusinessException(String.format("随机数:[%s]小于50,需要重试补偿",randomInt));
}
}
4、可选配置
loop-cure:
task-fixedRate: 12000 #任务间隔时间(毫秒),默认20秒即 20000
timeout-max: 1200 #历史任务最大执行时间(秒),默认30分钟,即1800
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。