diff --git a/example/src/test/java/com/example/ExistsTransactionalRetryServiceTest.java b/example/src/test/java/com/example/ExistsTransactionalRetryServiceTest.java index 7d6489e7e..ce762c5c1 100644 --- a/example/src/test/java/com/example/ExistsTransactionalRetryServiceTest.java +++ b/example/src/test/java/com/example/ExistsTransactionalRetryServiceTest.java @@ -89,7 +89,7 @@ public class ExistsTransactionalRetryServiceTest { .thenReturn(new Result(0, "5")) ; try { - for (int i = 0; i < 10; i++) { + for (int i = 0; i < 100; i++) { threadPoolExecutor.execute(() -> testExistsTransactionalRetryService.testSimpleInsert(UUID.randomUUID().toString())); } } catch (Exception e) { diff --git a/x-retry-common/x-retry-common-core/src/main/java/com/x/retry/common/core/alarm/DingDingAttribute.java b/x-retry-common/x-retry-common-core/src/main/java/com/x/retry/common/core/alarm/DingDingAttribute.java new file mode 100644 index 000000000..e2a08f37b --- /dev/null +++ b/x-retry-common/x-retry-common-core/src/main/java/com/x/retry/common/core/alarm/DingDingAttribute.java @@ -0,0 +1,14 @@ +package com.x.retry.common.core.alarm; + +import lombok.Data; + +/** + * @author: www.byteblogs.com + * @date : 2022-05-04 16:13 + */ +@Data +public class DingDingAttribute { + + private String dingDingUrl; + +} diff --git a/x-retry-common/x-retry-common-core/src/main/java/com/x/retry/common/core/alarm/strategy/DingdingAlarm.java b/x-retry-common/x-retry-common-core/src/main/java/com/x/retry/common/core/alarm/strategy/DingdingAlarm.java index 3d675ca5d..f05fddc6c 100644 --- a/x-retry-common/x-retry-common-core/src/main/java/com/x/retry/common/core/alarm/strategy/DingdingAlarm.java +++ b/x-retry-common/x-retry-common-core/src/main/java/com/x/retry/common/core/alarm/strategy/DingdingAlarm.java @@ -1,8 +1,10 @@ package com.x.retry.common.core.alarm.strategy; import com.x.retry.common.core.alarm.AlarmContext; +import com.x.retry.common.core.alarm.DingDingAttribute; import com.x.retry.common.core.enums.AlarmTypeEnum; import com.x.retry.common.core.util.DingDingUtils; +import com.x.retry.common.core.util.JsonUtil; import org.springframework.stereotype.Component; import java.util.List; @@ -22,15 +24,17 @@ public class DingdingAlarm extends AbstractAlarm { @Override public boolean asyncSendMessage(AlarmContext context) { + DingDingAttribute dingDingAttribute = JsonUtil.parseObject(context.getNotifyAttribute(), DingDingAttribute.class); threadPoolExecutor.execute(() -> - DingDingUtils.sendMessage(DingDingUtils.buildSendRequest(context.getTitle(), context.getText()), context.getNotifyAttribute())); + DingDingUtils.sendMessage(DingDingUtils.buildSendRequest(context.getTitle(), context.getText()), dingDingAttribute.getDingDingUrl())); return true; } @Override public boolean syncSendMessage(AlarmContext context) { - return DingDingUtils.sendMessage(DingDingUtils.buildSendRequest(context.getTitle(), context.getNotifyAttribute()), context.getNotifyAttribute()); + DingDingAttribute dingDingAttribute = JsonUtil.parseObject(context.getNotifyAttribute(), DingDingAttribute.class); + return DingDingUtils.sendMessage(DingDingUtils.buildSendRequest(context.getTitle(), context.getText()), dingDingAttribute.getDingDingUrl()); } @Override diff --git a/x-retry-common/x-retry-common-core/src/main/java/com/x/retry/common/core/alarm/strategy/EmailAlarm.java b/x-retry-common/x-retry-common-core/src/main/java/com/x/retry/common/core/alarm/strategy/EmailAlarm.java index 9c7aee417..7fed9a854 100644 --- a/x-retry-common/x-retry-common-core/src/main/java/com/x/retry/common/core/alarm/strategy/EmailAlarm.java +++ b/x-retry-common/x-retry-common-core/src/main/java/com/x/retry/common/core/alarm/strategy/EmailAlarm.java @@ -33,7 +33,7 @@ public class EmailAlarm extends AbstractAlarm { String notifyAttribute = alarmContext.getNotifyAttribute(); EmailAttribute emailAttribute = JsonUtil.parseObject(notifyAttribute, EmailAttribute.class); emailAttribute.setAuth(true); - MailUtil.send(emailAttribute, emailAttribute.getTos(), alarmContext.getTitle(), alarmContext.getText(), false); + MailUtil.send(emailAttribute, emailAttribute.getTos(), alarmContext.getTitle(), alarmContext.getText(), true); return true; } diff --git a/x-retry-common/x-retry-common-core/src/main/java/com/x/retry/common/core/util/DingDingUtils.java b/x-retry-common/x-retry-common-core/src/main/java/com/x/retry/common/core/util/DingDingUtils.java index 5dd3a8582..fc7591561 100644 --- a/x-retry-common/x-retry-common-core/src/main/java/com/x/retry/common/core/util/DingDingUtils.java +++ b/x-retry-common/x-retry-common-core/src/main/java/com/x/retry/common/core/util/DingDingUtils.java @@ -12,7 +12,7 @@ import org.springframework.util.StringUtils; */ public class DingDingUtils { /** - * 防止文本过长钉钉限流,目前最大为200 + * 防止文本过长钉钉限流,目前最大为4000 * * @param text * @return @@ -20,8 +20,8 @@ public class DingDingUtils { private static String subTextLength(String text) { int length = text.length(); - if (length > 1024) { - return text.substring(0, 1024); + if (length > 4000) { + return text.substring(0, 4000); } else { return text; } diff --git a/x-retry-server/src/main/java/com/x/retry/server/support/schedule/AlarmNotifyThreadSchedule.java b/x-retry-server/src/main/java/com/x/retry/server/support/schedule/AlarmNotifyThreadSchedule.java index 3e92c8e0e..c69b3640e 100644 --- a/x-retry-server/src/main/java/com/x/retry/server/support/schedule/AlarmNotifyThreadSchedule.java +++ b/x-retry-server/src/main/java/com/x/retry/server/support/schedule/AlarmNotifyThreadSchedule.java @@ -32,19 +32,17 @@ public class AlarmNotifyThreadSchedule { private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); private static String retryErrorMoreThresholdTextMessageFormatter = - "{}环境 重试失败数据监控 \r\n" + - "> 名称:{} \r\n" + - "> ID:{} \r\n" + - "> 时间窗口:{} ~ {} \r\n" + + "{}环境 重试失败数据监控
" + + "> 名称:{}
" + + "> 时间窗口:{} ~ {}
" + "> **共计:{}** \n" ; private static String retryTaskMoreThresholdTextMessageFormatter = - "{}环境 重试数据监控 \r\n" + - "> 名称:{} \r\n" + - "> ID:{} \r\n" + - "> 时间:{} \r\n" + - "> **共计:{}** \n" + "{}环境 重试数据监控
" + + "> 名称:{}
" + + "> 时间:{}
" + + "> **共计:{}**
" ; @Autowired @@ -78,7 +76,6 @@ public class AlarmNotifyThreadSchedule { .text(retryTaskMoreThresholdTextMessageFormatter, EnvironmentUtils.getActiveProfile(), groupConfig.getGroupName(), - groupConfig.getGroupName(), LocalDateTime.now().format(formatter), count) .title("组:[{}])重试数据过多", groupConfig.getGroupName()) @@ -116,7 +113,6 @@ public class AlarmNotifyThreadSchedule { .text(retryErrorMoreThresholdTextMessageFormatter, EnvironmentUtils.getActiveProfile(), groupConfig.getGroupName(), - groupConfig.getGroupName(), now.minusMinutes(30).format(formatter), now.format(formatter), count) diff --git a/x-retry-server/src/main/resources/application.yml b/x-retry-server/src/main/resources/application.yml index 7dc1b5d24..ac5ad8237 100644 --- a/x-retry-server/src/main/resources/application.yml +++ b/x-retry-server/src/main/resources/application.yml @@ -1,4 +1,6 @@ spring: + profiles: + active: dev datasource: name: x_retry url: jdbc:mysql://localhost:3306/x_retry?useSSL=false&characterEncoding=utf8&useUnicode=true