From 3275a24632d8a0494656ca46f4e1e92aae69791f Mon Sep 17 00:00:00 2001 From: "www.byteblogs.com" <598092184@qq.com> Date: Tue, 2 May 2023 15:15:09 -1200 Subject: [PATCH] =?UTF-8?q?feat&fix:=201.1.0=201.=20=E5=8F=98=E6=9B=B4?= =?UTF-8?q?=E9=87=8D=E8=AF=95=E6=B5=81=E9=87=8F=E8=AF=B7=E6=B1=82=E5=A4=B4?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=202.=20=E4=BF=AE=E5=A4=8D=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E7=95=8C=E9=9D=A2=E6=97=A5=E6=9C=9F=E6=98=BE=E7=A4=BA=E9=97=AE?= =?UTF-8?q?=E9=A2=98=203.=20=E5=81=9C=E6=AD=A2=E7=AD=96=E7=95=A5=E6=94=B9?= =?UTF-8?q?=E4=B8=BA=E8=B4=A3=E4=BB=BB=E9=93=BE=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client/core/intercepter/HeaderAspect.java | 8 +- .../core/intercepter/RetrySiteSnapshot.java | 14 +- .../core/plugin/RequestHeaderPlugins.java | 6 +- .../core/plugin/ResponseHeaderPlugins.java | 4 +- .../common/core/constant/SystemConstants.java | 6 +- ...etryHeaders.java => EasyRetryHeaders.java} | 6 +- .../easy/retry/common/core/util/JsonUtil.java | 14 +- .../service/impl/RetryTaskLogServiceImpl.java | 3 +- .../retry/server/support/RetryContext.java | 14 + .../retry/server/support/StopStrategy.java | 17 + .../MaxAttemptsPersistenceRetryContext.java | 18 + .../callback/CallbackRetryResultActor.java | 10 +- .../dispatch/actor/exec/ExecUnitActor.java | 15 +- .../dispatch/actor/scan/ScanGroupActor.java | 1 + .../server/support/retry/RetryBuilder.java | 20 +- .../server/support/retry/RetryExecutor.java | 26 +- .../support/strategy/StopStrategies.java | 44 +- .../src/main/resources/admin/index.html | 2 +- .../js/{app.58d24c5a.js => app.a2b44034.js} | 2 +- ...984d2f3a.js => chunk-08798c7e.bfbd5a35.js} | 0 ...ab7c2647.js => chunk-1bf36f2c.b33b2536.js} | 0 ...d6cff8a4.js => chunk-244a93b4.89d86add.js} | 0 ...c58c1b7a.js => chunk-2515aa86.c6f32c4c.js} | 0 ...bc252574.js => chunk-2672acfa.a6a69a7f.js} | 0 ...667d7e9a.js => chunk-2d21a08f.10f9edd8.js} | 0 ...bf2fbc64.js => chunk-35f6c8ac.4166a8c0.js} | 0 ...17f16b23.js => chunk-39be5683.8052daba.js} | 0 ...745ee7e8.js => chunk-4a2f6b49.8726a153.js} | 0 .../admin/js/chunk-71608044.5af14532.js | 1 - .../admin/js/chunk-71608044.e21176f4.js | 1 + ...a8c64402.js => chunk-77aaac2a.a8f6aa61.js} | 0 ...365f48f3.js => chunk-bf3addda.fece787c.js} | 0 .../js/{fail.40283b49.js => fail.f78b643f.js} | 0 .../js/{user.a4cdfea5.js => user.d6fd464c.js} | 0 example/log/sys.log | 2308 +++++++++++++++++ .../example/controller/SchoolController.java | 4 +- frontend/src/components/Charts/Line.vue | 1 - frontend/src/views/task/RetryTaskList.vue | 7 +- 38 files changed, 2488 insertions(+), 64 deletions(-) rename easy-retry-common/easy-retry-common-core/src/main/java/com/aizuda/easy/retry/common/core/model/{XRetryHeaders.java => EasyRetryHeaders.java} (79%) rename easy-retry-server/src/main/resources/admin/js/{app.58d24c5a.js => app.a2b44034.js} (97%) rename easy-retry-server/src/main/resources/admin/js/{chunk-08798c7e.984d2f3a.js => chunk-08798c7e.bfbd5a35.js} (100%) rename easy-retry-server/src/main/resources/admin/js/{chunk-1bf36f2c.ab7c2647.js => chunk-1bf36f2c.b33b2536.js} (100%) rename easy-retry-server/src/main/resources/admin/js/{chunk-244a93b4.d6cff8a4.js => chunk-244a93b4.89d86add.js} (100%) rename easy-retry-server/src/main/resources/admin/js/{chunk-2515aa86.c58c1b7a.js => chunk-2515aa86.c6f32c4c.js} (100%) rename easy-retry-server/src/main/resources/admin/js/{chunk-2672acfa.bc252574.js => chunk-2672acfa.a6a69a7f.js} (100%) rename easy-retry-server/src/main/resources/admin/js/{chunk-2d21a08f.667d7e9a.js => chunk-2d21a08f.10f9edd8.js} (100%) rename easy-retry-server/src/main/resources/admin/js/{chunk-35f6c8ac.bf2fbc64.js => chunk-35f6c8ac.4166a8c0.js} (100%) rename easy-retry-server/src/main/resources/admin/js/{chunk-39be5683.17f16b23.js => chunk-39be5683.8052daba.js} (100%) rename easy-retry-server/src/main/resources/admin/js/{chunk-4a2f6b49.745ee7e8.js => chunk-4a2f6b49.8726a153.js} (100%) delete mode 100644 easy-retry-server/src/main/resources/admin/js/chunk-71608044.5af14532.js create mode 100644 easy-retry-server/src/main/resources/admin/js/chunk-71608044.e21176f4.js rename easy-retry-server/src/main/resources/admin/js/{chunk-77aaac2a.a8c64402.js => chunk-77aaac2a.a8f6aa61.js} (100%) rename easy-retry-server/src/main/resources/admin/js/{chunk-bf3addda.365f48f3.js => chunk-bf3addda.fece787c.js} (100%) rename easy-retry-server/src/main/resources/admin/js/{fail.40283b49.js => fail.f78b643f.js} (100%) rename easy-retry-server/src/main/resources/admin/js/{user.a4cdfea5.js => user.d6fd464c.js} (100%) create mode 100644 example/log/sys.log diff --git a/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/intercepter/HeaderAspect.java b/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/intercepter/HeaderAspect.java index 8d2d5d663..d6492aede 100644 --- a/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/intercepter/HeaderAspect.java +++ b/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/intercepter/HeaderAspect.java @@ -2,7 +2,7 @@ package com.aizuda.easy.retry.client.core.intercepter; import com.aizuda.easy.retry.common.core.constant.SystemConstants; import com.aizuda.easy.retry.common.core.log.LogUtils; -import com.aizuda.easy.retry.common.core.model.XRetryHeaders; +import com.aizuda.easy.retry.common.core.model.EasyRetryHeaders; import com.aizuda.easy.retry.common.core.util.JsonUtil; import lombok.extern.slf4j.Slf4j; import org.aspectj.lang.ProceedingJoinPoint; @@ -28,13 +28,13 @@ public class HeaderAspect { public void before(){ ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); - String xRetry = attributes.getRequest().getHeader(SystemConstants.X_RETRY_HEAD_KEY); + String xRetry = attributes.getRequest().getHeader(SystemConstants.EASY_RETRY_HEAD_KEY); if (Objects.nonNull(xRetry)) { // 标记进入方法的时间 RetrySiteSnapshot.setEntryMethodTime(System.currentTimeMillis()); LogUtils.info(log, "easy-retry 拦截器 xRetry:[{}]", xRetry); - RetrySiteSnapshot.setRetryHeader(JsonUtil.parseObject(xRetry, XRetryHeaders.class)); + RetrySiteSnapshot.setRetryHeader(JsonUtil.parseObject(xRetry, EasyRetryHeaders.class)); } } @@ -64,7 +64,7 @@ public class HeaderAspect { ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); HttpServletResponse response = attributes.getResponse(); - response.addHeader(SystemConstants.X_RETRY_STATUS_CODE_KEY, RetrySiteSnapshot.getRetryStatusCode()); + response.addHeader(SystemConstants.EASY_RETRY_STATUS_CODE_KEY, RetrySiteSnapshot.getRetryStatusCode()); // 服务端重试的在com.x.retry.client.core.client.RetryEndPoint 中进行清除threadLocal if (Objects.nonNull(RetrySiteSnapshot.getStage()) && RetrySiteSnapshot.EnumStage.REMOTE.getStage() == RetrySiteSnapshot.getStage()) { diff --git a/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/intercepter/RetrySiteSnapshot.java b/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/intercepter/RetrySiteSnapshot.java index 73d5eba55..50fe29957 100644 --- a/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/intercepter/RetrySiteSnapshot.java +++ b/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/intercepter/RetrySiteSnapshot.java @@ -1,7 +1,7 @@ package com.aizuda.easy.retry.client.core.intercepter; import com.aizuda.easy.retry.common.core.constant.SystemConstants; -import com.aizuda.easy.retry.common.core.model.XRetryHeaders; +import com.aizuda.easy.retry.common.core.model.EasyRetryHeaders; import lombok.Getter; import java.util.Objects; @@ -32,7 +32,7 @@ public class RetrySiteSnapshot { /** * 重试请求头 */ - private static final ThreadLocal RETRY_HEADER = new ThreadLocal<>(); + private static final ThreadLocal RETRY_HEADER = new ThreadLocal<>(); /** * 状态码 @@ -76,11 +76,11 @@ public class RetrySiteSnapshot { return EnumStatus.RUNNING.status == getStatus(); } - public static XRetryHeaders getRetryHeader() { + public static EasyRetryHeaders getRetryHeader() { return RETRY_HEADER.get(); } - public static void setRetryHeader(XRetryHeaders headers) { + public static void setRetryHeader(EasyRetryHeaders headers) { RETRY_HEADER.set(headers); } @@ -88,9 +88,9 @@ public class RetrySiteSnapshot { * 是否是重试流量 */ public static boolean isRetryFlow() { - XRetryHeaders retryHeader = getRetryHeader(); + EasyRetryHeaders retryHeader = getRetryHeader(); if (Objects.nonNull(retryHeader)) { - return retryHeader.isXRetry(); + return retryHeader.isEasyRetry(); } return false; @@ -105,7 +105,7 @@ public class RetrySiteSnapshot { } public static boolean isRetryForStatusCode() { - return Objects.nonNull(getRetryStatusCode()) && getRetryStatusCode().equals(SystemConstants.X_RETRY_STATUS_CODE); + return Objects.nonNull(getRetryStatusCode()) && getRetryStatusCode().equals(SystemConstants.EASY_RETRY_STATUS_CODE); } public static Long getEntryMethodTime() { diff --git a/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/plugin/RequestHeaderPlugins.java b/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/plugin/RequestHeaderPlugins.java index 66c6eaa8f..c6328de23 100644 --- a/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/plugin/RequestHeaderPlugins.java +++ b/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/plugin/RequestHeaderPlugins.java @@ -4,7 +4,7 @@ import com.aizuda.easy.retry.client.core.exception.EasyRetryClientException; import com.aizuda.easy.retry.client.core.intercepter.RetrySiteSnapshot; import com.aizuda.easy.retry.common.core.constant.SystemConstants; import com.aizuda.easy.retry.common.core.log.LogUtils; -import com.aizuda.easy.retry.common.core.model.XRetryHeaders; +import com.aizuda.easy.retry.common.core.model.EasyRetryHeaders; import com.aizuda.easy.retry.common.core.util.JsonUtil; import lombok.extern.slf4j.Slf4j; @@ -30,7 +30,7 @@ public class RequestHeaderPlugins { public static Map requestHeader() { Map header = new HashMap<>(); - XRetryHeaders retryHeader = RetrySiteSnapshot.getRetryHeader(); + EasyRetryHeaders retryHeader = RetrySiteSnapshot.getRetryHeader(); // 传递请求头 if (Objects.nonNull(retryHeader)) { @@ -44,7 +44,7 @@ public class RequestHeaderPlugins { throw new EasyRetryClientException("调用链超时, 不在继续调用后面请求"); } - header.put(SystemConstants.X_RETRY_HEAD_KEY, JsonUtil.toJsonString(retryHeader)); + header.put(SystemConstants.EASY_RETRY_HEAD_KEY, JsonUtil.toJsonString(retryHeader)); } return header; diff --git a/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/plugin/ResponseHeaderPlugins.java b/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/plugin/ResponseHeaderPlugins.java index 31469177d..bdfba48ea 100644 --- a/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/plugin/ResponseHeaderPlugins.java +++ b/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/plugin/ResponseHeaderPlugins.java @@ -23,8 +23,8 @@ public class ResponseHeaderPlugins { public static void responseHeader(Map> header) { // 获取不重试标志 - if (header.containsKey(SystemConstants.X_RETRY_STATUS_CODE_KEY)) { - List statusCode = header.get(SystemConstants.X_RETRY_STATUS_CODE_KEY); + if (header.containsKey(SystemConstants.EASY_RETRY_STATUS_CODE_KEY)) { + List statusCode = header.get(SystemConstants.EASY_RETRY_STATUS_CODE_KEY); RetrySiteSnapshot.setRetryStatusCode(statusCode.get(0)); } } diff --git a/easy-retry-common/easy-retry-common-core/src/main/java/com/aizuda/easy/retry/common/core/constant/SystemConstants.java b/easy-retry-common/easy-retry-common-core/src/main/java/com/aizuda/easy/retry/common/core/constant/SystemConstants.java index 9a8405800..458005e26 100644 --- a/easy-retry-common/easy-retry-common-core/src/main/java/com/aizuda/easy/retry/common/core/constant/SystemConstants.java +++ b/easy-retry-common/easy-retry-common-core/src/main/java/com/aizuda/easy/retry/common/core/constant/SystemConstants.java @@ -9,17 +9,17 @@ public class SystemConstants { /** * 请求头 key */ - public static final String X_RETRY_HEAD_KEY = "easy-retry"; + public static final String EASY_RETRY_HEAD_KEY = "easy-retry"; /** * 异常重试码 key */ - public static final String X_RETRY_STATUS_CODE_KEY = "easy-retry-status"; + public static final String EASY_RETRY_STATUS_CODE_KEY = "easy-retry-status"; /** * 异常重试码 */ - public static final String X_RETRY_STATUS_CODE = "519"; + public static final String EASY_RETRY_STATUS_CODE = "519"; diff --git a/easy-retry-common/easy-retry-common-core/src/main/java/com/aizuda/easy/retry/common/core/model/XRetryHeaders.java b/easy-retry-common/easy-retry-common-core/src/main/java/com/aizuda/easy/retry/common/core/model/EasyRetryHeaders.java similarity index 79% rename from easy-retry-common/easy-retry-common-core/src/main/java/com/aizuda/easy/retry/common/core/model/XRetryHeaders.java rename to easy-retry-common/easy-retry-common-core/src/main/java/com/aizuda/easy/retry/common/core/model/EasyRetryHeaders.java index fb6534193..ffb0f643b 100644 --- a/easy-retry-common/easy-retry-common-core/src/main/java/com/aizuda/easy/retry/common/core/model/XRetryHeaders.java +++ b/easy-retry-common/easy-retry-common-core/src/main/java/com/aizuda/easy/retry/common/core/model/EasyRetryHeaders.java @@ -9,17 +9,17 @@ import lombok.Data; * @date : 2022-04-16 22:20 */ @Data -public class XRetryHeaders { +public class EasyRetryHeaders { /** * 是否是重试流量 */ - private boolean xRetry; + private boolean easyRetry; /** * 重试下发的ID */ - private String xRetryId; + private String easyRetryId; /** * 调用链超时时间 单位毫秒(ms) diff --git a/easy-retry-common/easy-retry-common-core/src/main/java/com/aizuda/easy/retry/common/core/util/JsonUtil.java b/easy-retry-common/easy-retry-common-core/src/main/java/com/aizuda/easy/retry/common/core/util/JsonUtil.java index 073ec8114..e50036031 100644 --- a/easy-retry-common/easy-retry-common-core/src/main/java/com/aizuda/easy/retry/common/core/util/JsonUtil.java +++ b/easy-retry-common/easy-retry-common-core/src/main/java/com/aizuda/easy/retry/common/core/util/JsonUtil.java @@ -14,10 +14,12 @@ import java.sql.Timestamp; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.ZoneId; +import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.TimeZone; /** * @author: byteblogs @@ -107,6 +109,8 @@ public class JsonUtil { * 内部类,处理Json */ public static class JsonMapper { + private static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss"; + private static String YYYY_MM_DD = "yyyy-MM-dd"; private static ObjectMapper objectMapper = jacksonObjectMapper(); @@ -114,6 +118,8 @@ public class JsonUtil { // 初始化全局Jackson 序列化工具 ObjectMapper objectMapper = new ObjectMapper(); + DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(YYYY_MM_DD_HH_MM_SS); + DateTimeFormatter localDateFormatter = DateTimeFormatter.ofPattern(YYYY_MM_DD); // 忽略未知属性 objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); @@ -129,27 +135,27 @@ public class JsonUtil { javaTimeModule.addSerializer(LocalDate.class, new JsonSerializer() { @Override public void serialize(LocalDate localDate, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { - jsonGenerator.writeNumber(String.valueOf(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant().toEpochMilli())); + jsonGenerator.writeString(localDate.format(localDateFormatter)); } }); javaTimeModule.addSerializer(LocalDateTime.class, new JsonSerializer() { @Override public void serialize(LocalDateTime localDateTime, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { - jsonGenerator.writeNumber(String.valueOf(localDateTime.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli())); + jsonGenerator.writeString(localDateTime.format(dateTimeFormatter)); } }); javaTimeModule.addDeserializer(LocalDate.class, new JsonDeserializer() { @Override public LocalDate deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException { String value = jsonParser.getValueAsString(); - return StringUtils.isBlank(value) ? null : new Timestamp(Long.valueOf(value.trim())).toLocalDateTime().toLocalDate(); + return StringUtils.isBlank(value) ? null : LocalDateTime.parse(value, DateTimeFormatter.ofPattern(YYYY_MM_DD_HH_MM_SS)).toLocalDate(); } }); javaTimeModule.addDeserializer(LocalDateTime.class, new JsonDeserializer() { @Override public LocalDateTime deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException { String value = jsonParser.getValueAsString(); - return StringUtils.isBlank(value) ? null : new Timestamp(Long.valueOf(value.trim())).toLocalDateTime(); + return StringUtils.isBlank(value) ? null : LocalDateTime.parse(value, DateTimeFormatter.ofPattern(YYYY_MM_DD_HH_MM_SS)); } }); diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/impl/RetryTaskLogServiceImpl.java b/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/impl/RetryTaskLogServiceImpl.java index c71b9c25a..f3be7757d 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/impl/RetryTaskLogServiceImpl.java +++ b/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/impl/RetryTaskLogServiceImpl.java @@ -26,6 +26,7 @@ public class RetryTaskLogServiceImpl implements RetryTaskLogService { private RetryTaskLogMapper retryTaskLogMapper; private RetryTaskLogResponseVOConverter retryTaskLogResponseVOConverter = new RetryTaskLogResponseVOConverter(); + @Override public PageResult> getRetryTaskLogPage(RetryTaskLogQueryVO queryVO) { @@ -46,7 +47,7 @@ public class RetryTaskLogServiceImpl implements RetryTaskLogService { } retryTaskLogLambdaQueryWrapper.select(RetryTaskLog::getGroupName, RetryTaskLog::getId, RetryTaskLog::getSceneName, - RetryTaskLog::getBizId, RetryTaskLog::getBizNo, RetryTaskLog::getErrorMessage, RetryTaskLog::getRetryStatus); + RetryTaskLog::getBizId, RetryTaskLog::getBizNo, RetryTaskLog::getErrorMessage, RetryTaskLog::getRetryStatus, RetryTaskLog::getCreateDt); PageDTO retryTaskLogPageDTO = retryTaskLogMapper.selectPage(pageDTO, retryTaskLogLambdaQueryWrapper.orderByDesc(RetryTaskLog::getCreateDt)); return new PageResult<>( diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/RetryContext.java b/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/RetryContext.java index 32ce7ff62..d4b3805a3 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/RetryContext.java +++ b/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/RetryContext.java @@ -22,6 +22,20 @@ public interface RetryContext { */ void setCallResult(V v); + /** + * 调用客户端发生异常信息 + * + * @param e 异常 + */ + void setException(Exception e); + + /** + * 是否发生异常 + * + * @return + */ + boolean hasException(); + /** * 等待策略 * diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/StopStrategy.java b/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/StopStrategy.java index 5b3855106..b6f099585 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/StopStrategy.java +++ b/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/StopStrategy.java @@ -15,4 +15,21 @@ public interface StopStrategy { * @return */ boolean shouldStop(RetryContext retryContext); + + /** + * 是否触发此停止策略 + * + * @param retryContext {@link RetryContext} 重试上下文 + * @return + */ + boolean supports(RetryContext retryContext); + + /** + * 按照正序排列重试过滤器 + * 若相同则按照加入的顺序 + * + * @return 排序的值 + */ + int order(); + } diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/context/MaxAttemptsPersistenceRetryContext.java b/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/context/MaxAttemptsPersistenceRetryContext.java index d2f81dbc0..30dfc3274 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/context/MaxAttemptsPersistenceRetryContext.java +++ b/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/context/MaxAttemptsPersistenceRetryContext.java @@ -5,7 +5,9 @@ import com.aizuda.easy.retry.server.persistence.mybatis.po.ServerNode; import com.aizuda.easy.retry.server.support.RetryContext; import com.aizuda.easy.retry.server.support.WaitStrategy; import lombok.Data; +import lombok.Getter; +import java.util.Objects; import java.util.Set; /** @@ -15,6 +17,7 @@ import java.util.Set; * @date : 2021-11-29 18:32 */ @Data +@Getter public class MaxAttemptsPersistenceRetryContext implements RetryContext { /** @@ -22,6 +25,11 @@ public class MaxAttemptsPersistenceRetryContext implements RetryContext { */ private V callResult; + /** + * 异常信息 + */ + private Exception exception; + /** * 等待策略 */ @@ -46,4 +54,14 @@ public class MaxAttemptsPersistenceRetryContext implements RetryContext { public void setCallResult(V v) { this.callResult = v; } + + @Override + public void setException(Exception e) { + this.exception = e; + } + + @Override + public boolean hasException() { + return Objects.nonNull(exception); + } } diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/actor/callback/CallbackRetryResultActor.java b/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/actor/callback/CallbackRetryResultActor.java index a1342492f..0f9d2a34c 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/actor/callback/CallbackRetryResultActor.java +++ b/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/actor/callback/CallbackRetryResultActor.java @@ -6,7 +6,7 @@ import com.aizuda.easy.retry.client.model.RetryCallbackDTO; import com.aizuda.easy.retry.common.core.constant.SystemConstants; import com.aizuda.easy.retry.common.core.log.LogUtils; import com.aizuda.easy.retry.common.core.model.Result; -import com.aizuda.easy.retry.common.core.model.XRetryHeaders; +import com.aizuda.easy.retry.common.core.model.EasyRetryHeaders; import com.aizuda.easy.retry.common.core.util.JsonUtil; import com.aizuda.easy.retry.server.persistence.mybatis.po.RetryTask; import com.aizuda.easy.retry.server.persistence.mybatis.po.ServerNode; @@ -62,10 +62,10 @@ public class CallbackRetryResultActor extends AbstractActor { // 设置header HttpHeaders requestHeaders = new HttpHeaders(); - XRetryHeaders xRetryHeaders = new XRetryHeaders(); - xRetryHeaders.setXRetry(Boolean.TRUE); - xRetryHeaders.setXRetryId(IdUtil.simpleUUID()); - requestHeaders.add(SystemConstants.X_RETRY_HEAD_KEY, JsonUtil.toJsonString(xRetryHeaders)); + EasyRetryHeaders easyRetryHeaders = new EasyRetryHeaders(); + easyRetryHeaders.setEasyRetry(Boolean.TRUE); + easyRetryHeaders.setEasyRetryId(IdUtil.simpleUUID()); + requestHeaders.add(SystemConstants.EASY_RETRY_HEAD_KEY, JsonUtil.toJsonString(easyRetryHeaders)); HttpEntity requestEntity = new HttpEntity<>(retryCallbackDTO, requestHeaders); diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/actor/exec/ExecUnitActor.java b/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/actor/exec/ExecUnitActor.java index 4ce7c855f..97293bd70 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/actor/exec/ExecUnitActor.java +++ b/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/actor/exec/ExecUnitActor.java @@ -8,7 +8,7 @@ import com.aizuda.easy.retry.client.model.DispatchRetryResultDTO; import com.aizuda.easy.retry.common.core.constant.SystemConstants; import com.aizuda.easy.retry.common.core.log.LogUtils; import com.aizuda.easy.retry.common.core.model.Result; -import com.aizuda.easy.retry.common.core.model.XRetryHeaders; +import com.aizuda.easy.retry.common.core.model.EasyRetryHeaders; import com.aizuda.easy.retry.common.core.util.JsonUtil; import com.aizuda.easy.retry.server.exception.EasyRetryServerException; import com.aizuda.easy.retry.server.persistence.mybatis.mapper.RetryTaskLogMapper; @@ -72,7 +72,10 @@ public class ExecUnitActor extends AbstractActor { try { if (Objects.nonNull(serverNode)) { - Object call = retryExecutor.call((Callable>) () -> callClient(retryTask, retryTaskLog, serverNode)); + retryExecutor.call((Callable>) () -> callClient(retryTask, retryTaskLog, serverNode)); + if (context.hasException()) { + retryTaskLog.setErrorMessage(context.getException().getMessage()); + } } else { retryTaskLog.setErrorMessage("暂无可用的客户端POD"); } @@ -113,10 +116,10 @@ public class ExecUnitActor extends AbstractActor { // 设置header HttpHeaders requestHeaders = new HttpHeaders(); - XRetryHeaders xRetryHeaders = new XRetryHeaders(); - xRetryHeaders.setXRetry(Boolean.TRUE); - xRetryHeaders.setXRetryId(IdUtil.simpleUUID()); - requestHeaders.add(SystemConstants.X_RETRY_HEAD_KEY, JsonUtil.toJsonString(xRetryHeaders)); + EasyRetryHeaders easyRetryHeaders = new EasyRetryHeaders(); + easyRetryHeaders.setEasyRetry(Boolean.TRUE); + easyRetryHeaders.setEasyRetryId(IdUtil.simpleUUID()); + requestHeaders.add(SystemConstants.EASY_RETRY_HEAD_KEY, JsonUtil.toJsonString(easyRetryHeaders)); HttpEntity requestEntity = new HttpEntity<>(dispatchRetryDTO, requestHeaders); diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/actor/scan/ScanGroupActor.java b/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/actor/scan/ScanGroupActor.java index d4a4c9c7b..c64064e78 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/actor/scan/ScanGroupActor.java +++ b/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/actor/scan/ScanGroupActor.java @@ -107,6 +107,7 @@ public class ScanGroupActor extends AbstractActor { retryContext.setServerNode(clientNodeAllocateHandler.getServerNode(retryTask.getGroupName())); RetryExecutor> executor = RetryBuilder.>newBuilder() + .withStopStrategy(StopStrategies.stopException()) .withStopStrategy(StopStrategies.stopResultStatus()) .withWaitStrategy(getWaitWaitStrategy(groupName, retryTask.getSceneName())) .withFilterStrategy(FilterStrategies.delayLevelFilter()) diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/retry/RetryBuilder.java b/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/retry/RetryBuilder.java index 31c893e43..a4b4a3c80 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/retry/RetryBuilder.java +++ b/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/retry/RetryBuilder.java @@ -17,7 +17,7 @@ import java.util.*; */ public class RetryBuilder { - private StopStrategy stopStrategy; + private List stopStrategies; private WaitStrategy waitStrategy; private List filterStrategies; private RetryContext retryContext; @@ -41,7 +41,11 @@ public class RetryBuilder { } public RetryBuilder withStopStrategy(StopStrategy stopStrategy) { - this.stopStrategy = stopStrategy; + if (CollectionUtils.isEmpty(stopStrategies)) { + stopStrategies = new ArrayList<>(); + } + + stopStrategies.add(stopStrategy); return this; } @@ -56,14 +60,16 @@ public class RetryBuilder { throw new EasyRetryServerException("waitStrategy 不能为null"); } - if (Objects.isNull(stopStrategy)) { - throw new EasyRetryServerException("stopStrategy 不能为null"); - } - if (Objects.isNull(retryContext)) { throw new EasyRetryServerException("retryContext 不能为null"); } + if (CollectionUtils.isEmpty(stopStrategies)) { + stopStrategies = Collections.EMPTY_LIST; + } else { + stopStrategies.sort(Comparator.comparingInt(StopStrategy::order)); + } + if (CollectionUtils.isEmpty(filterStrategies)) { filterStrategies = Collections.EMPTY_LIST; } else { @@ -72,7 +78,7 @@ public class RetryBuilder { retryContext.setWaitStrategy(waitStrategy); - return new RetryExecutor(stopStrategy, waitStrategy, filterStrategies, retryContext); + return new RetryExecutor(stopStrategies, waitStrategy, filterStrategies, retryContext); } } diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/retry/RetryExecutor.java b/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/retry/RetryExecutor.java index 20678dfd5..166a913e2 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/retry/RetryExecutor.java +++ b/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/retry/RetryExecutor.java @@ -9,6 +9,7 @@ import com.aizuda.easy.retry.server.support.WaitStrategy; import lombok.extern.slf4j.Slf4j; import java.util.List; +import java.util.Objects; import java.util.concurrent.Callable; /** @@ -20,16 +21,16 @@ import java.util.concurrent.Callable; @Slf4j public class RetryExecutor { - private final StopStrategy stopStrategy; + private final List stopStrategies; private final WaitStrategy waitStrategy; private final List filterStrategies; private final RetryContext retryContext; - public RetryExecutor(StopStrategy stopStrategy, + public RetryExecutor(List stopStrategies, WaitStrategy waitStrategy, List filterStrategies, RetryContext retryContext) { - this.stopStrategy = stopStrategy; + this.stopStrategies = stopStrategies; this.waitStrategy = waitStrategy; this.filterStrategies = filterStrategies; this.retryContext = retryContext; @@ -59,17 +60,29 @@ public class RetryExecutor { V call = null; try { call = callable.call(); + retryContext.setCallResult(call); } catch (Exception e) { log.error("客户端执行失败: [{}]", retryContext.getRetryTask()); + retryContext.setException(e); } - retryContext.setCallResult(call); - // 计算下次触发时间 retryContext.getRetryTask().setNextTriggerAt(waitStrategy.computeRetryTime(retryContext)); + boolean isStop = Boolean.TRUE; + + // 触发停止策略判断 + for (StopStrategy stopStrategy : stopStrategies) { + if (stopStrategy.supports(retryContext)) { + // 必须责任链中的所有停止策略都判断为停止,此时才判定为重试完成 + if (!stopStrategy.shouldStop(retryContext)) { + isStop = Boolean.FALSE; + } + } + } + ActorRef actorRef; - if (stopStrategy.shouldStop(retryContext)) { + if (isStop) { // 状态变为完成 FinishActor actorRef = ActorGenerator.finishActor(); } else { @@ -78,6 +91,7 @@ public class RetryExecutor { } actorRef.tell(retryContext.getRetryTask(), actorRef); + return call; } diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/strategy/StopStrategies.java b/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/strategy/StopStrategies.java index 134615c4f..1ee7dc120 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/strategy/StopStrategies.java +++ b/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/strategy/StopStrategies.java @@ -22,7 +22,16 @@ public class StopStrategies { } /** - * 根据重试结果终止 + * 调用客户端发生异常触发停止策略 + * + * @return {@link ExceptionStopStrategy} 调用客户端发生异常触发停止策略 + */ + public static StopStrategy stopException() { + return new ExceptionStopStrategy(); + } + + /** + * 根据客户端返回结果判断是否终止重试 * * @return {@link ResultStatusStopStrategy} 重试结果停止策略 */ @@ -31,7 +40,28 @@ public class StopStrategies { } /** - * 根据重试结果集判断是否应该停止 + * 调用客户端发生异常触发停止策略 + */ + private static final class ExceptionStopStrategy implements StopStrategy { + + @Override + public boolean shouldStop(RetryContext retryContext) { + return !retryContext.hasException(); + } + + @Override + public boolean supports(RetryContext retryContext) { + return true; + } + + @Override + public int order() { + return 1; + } + } + + /** + * 根据客户端返回结果集判断是否应该停止 * * 1、{@link Result#getStatus()} 不为1 则继续重试 * 2、根据{@link Result#getData()}中的statusCode判断是否停止 @@ -59,6 +89,16 @@ public class StopStrategies { Integer status = RetryResultStatusEnum.getRetryResultStatusEnum(statusCode).getStatus(); return RetryResultStatusEnum.SUCCESS.getStatus().equals(status) || RetryResultStatusEnum.STOP.getStatus().equals(status); } + + @Override + public boolean supports(RetryContext retryContext) { + return retryContext instanceof MaxAttemptsPersistenceRetryContext; + } + + @Override + public int order() { + return 2; + } } } diff --git a/easy-retry-server/src/main/resources/admin/index.html b/easy-retry-server/src/main/resources/admin/index.html index 37d1aaf3d..004501bd4 100644 --- a/easy-retry-server/src/main/resources/admin/index.html +++ b/easy-retry-server/src/main/resources/admin/index.html @@ -1 +1 @@ -Easy-Retry

Easy-Retry

分布式重试服务平台
\ No newline at end of file +Easy-Retry

Easy-Retry

分布式重试服务平台
\ No newline at end of file diff --git a/easy-retry-server/src/main/resources/admin/js/app.58d24c5a.js b/easy-retry-server/src/main/resources/admin/js/app.a2b44034.js similarity index 97% rename from easy-retry-server/src/main/resources/admin/js/app.58d24c5a.js rename to easy-retry-server/src/main/resources/admin/js/app.a2b44034.js index 2c60e6df8..8ca53916d 100644 --- a/easy-retry-server/src/main/resources/admin/js/app.58d24c5a.js +++ b/easy-retry-server/src/main/resources/admin/js/app.a2b44034.js @@ -1 +1 @@ -(function(e){function t(t){for(var n,r,i=t[0],c=t[1],l=t[2],u=0,d=[];udiv[type=dialog]");i||(i=document.createElement("div"),i.setAttribute("type","dialog"),document.body.appendChild(i));var c=function(e,t){if(e instanceof Function){var a=e();a instanceof Promise?a.then((function(e){e&&t()})):a&&t()}else e||t()},l=new e({data:function(){return{visible:!0}},router:o.$router,store:o.$store,mounted:function(){var e=this;this.$on("close",(function(t){e.handleClose()}))},methods:{handleClose:function(){var e=this;c(this.$refs._component.onCancel,(function(){e.visible=!1,e.$refs._component.$emit("close"),e.$refs._component.$emit("cancel"),l.$destroy()}))},handleOk:function(){var e=this;c(this.$refs._component.onOK||this.$refs._component.onOk,(function(){e.visible=!1,e.$refs._component.$emit("close"),e.$refs._component.$emit("ok"),l.$destroy()}))}},render:function(e){var o=this,i=s&&s.model;i&&delete s.model;var c=Object.assign({},i&&{model:i}||{},{attrs:Object.assign({},Object(n["a"])({},s.attrs||s),{visible:this.visible}),on:Object.assign({},Object(n["a"])({},s.on||s),{ok:function(){o.handleOk()},cancel:function(){o.handleClose()}})}),l=a&&a.model;l&&delete a.model;var u=Object.assign({},l&&{model:l}||{},{ref:"_component",attrs:Object.assign({},Object(n["a"])({},a&&a.attrs||a)),on:Object.assign({},Object(n["a"])({},a&&a.on||a))});return e(r["a"],c,[e(t,u)])}}).$mount(i)}}Object.defineProperty(e.prototype,"$dialog",{get:function(){return function(){t.apply(this,arguments)}}})}},"29fd":function(e,t,a){"use strict";a.r(t);var n=a("5530"),r=a("4404");t["default"]=Object(n["a"])({},r["default"])},"2a47":function(e,t,a){},"31fc":function(e,t,a){"use strict";var n,r,s=a("8bbf"),o=a.n(s),i=new o.a,c=a("5530"),l=(a("b0c0"),a("7db0"),a("d3b7"),a("4de4"),a("caad"),a("2532"),a("159b"),a("d81d"),{name:"MultiTab",data:function(){return{fullPathList:[],pages:[],activeKey:"",newTabIndex:0}},created:function(){var e=this;i.$on("open",(function(t){if(!t)throw new Error("multi-tab: open tab ".concat(t," err"));e.activeKey=t})).$on("close",(function(t){t?e.closeThat(t):e.closeThat(e.activeKey)})).$on("rename",(function(t){var a=t.key,n=t.name;try{var r=e.pages.find((function(e){return e.path===a}));r.meta.customTitle=n,e.$forceUpdate()}catch(s){}})),this.pages.push(this.$route),this.fullPathList.push(this.$route.fullPath),this.selectedLastPath()},methods:{onEdit:function(e,t){this[t](e)},remove:function(e){this.pages=this.pages.filter((function(t){return t.fullPath!==e})),this.fullPathList=this.fullPathList.filter((function(t){return t!==e})),this.fullPathList.includes(this.activeKey)||this.selectedLastPath()},selectedLastPath:function(){this.activeKey=this.fullPathList[this.fullPathList.length-1]},closeThat:function(e){this.fullPathList.length>1?this.remove(e):this.$message.info("这是最后一个标签了, 无法被关闭")},closeLeft:function(e){var t=this,a=this.fullPathList.indexOf(e);a>0?this.fullPathList.forEach((function(e,n){na&&t.remove(e)})):this.$message.info("右侧没有标签")},closeAll:function(e){var t=this,a=this.fullPathList.indexOf(e);this.fullPathList.forEach((function(e,n){n!==a&&t.remove(e)}))},closeMenuClick:function(e,t){this[e](t)},renderTabPaneMenu:function(e){var t=this,a=this.$createElement;return a("a-menu",{on:Object(c["a"])({},{click:function(a){var n=a.key;a.item,a.domEvent;t.closeMenuClick(n,e)}})},[a("a-menu-item",{key:"closeThat"},["关闭当前标签"]),a("a-menu-item",{key:"closeRight"},["关闭右侧"]),a("a-menu-item",{key:"closeLeft"},["关闭左侧"]),a("a-menu-item",{key:"closeAll"},["关闭全部"])])},renderTabPane:function(e,t){var a=this.$createElement,n=this.renderTabPaneMenu(t);return a("a-dropdown",{attrs:{overlay:n,trigger:["contextmenu"]}},[a("span",{style:{userSelect:"none"}},[e])])}},watch:{$route:function(e){this.activeKey=e.fullPath,this.fullPathList.indexOf(e.fullPath)<0&&(this.fullPathList.push(e.fullPath),this.pages.push(e))},activeKey:function(e){this.$router.push({path:e})}},render:function(){var e=this,t=arguments[0],a=this.onEdit,n=this.$data.pages,r=n.map((function(a){return t("a-tab-pane",{style:{height:0},attrs:{tab:e.renderTabPane(a.meta.customTitle||a.meta.title,a.fullPath),closable:n.length>1},key:a.fullPath})}));return t("div",{class:"ant-pro-multi-tab"},[t("div",{class:"ant-pro-multi-tab-wrapper"},[t("a-tabs",{attrs:{hideAdd:!0,type:"editable-card",tabBarStyle:{background:"#FFF",margin:0,paddingLeft:"16px",paddingTop:"1px"}},on:Object(c["a"])({},{edit:a}),model:{value:e.activeKey,callback:function(t){e.activeKey=t}}},[r])])])}}),u=l,d=a("2877"),f=Object(d["a"])(u,n,r,!1,null,null,null),m=f.exports,h=(a("3489"),{open:function(e){i.$emit("open",e)},rename:function(e,t){i.$emit("rename",{key:e,name:t})},closeCurrentPage:function(){this.close()},close:function(e){i.$emit("close",e)}});m.install=function(e){e.prototype.$multiTab||(h.instance=i,e.prototype.$multiTab=h,e.component("multi-tab",m))};t["a"]=m},3489:function(e,t,a){},"3b74":function(e,t,a){"use strict";a("91a5")},4360:function(e,t,a){"use strict";var n,r=a("8bbf"),s=a.n(r),o=a("5880"),i=a.n(o),c=a("ade3"),l=(a("d3b7"),a("8ded")),u=a.n(l),d=a("9fb0"),f=a("bf0f"),m={state:{sideCollapsed:!1,isMobile:!1,theme:"dark",layout:"",contentWidth:"",fixedHeader:!1,fixedSidebar:!1,autoHideHeader:!1,color:"",weak:!1,multiTab:!0,lang:"en-US",_antLocale:{}},mutations:(n={},Object(c["a"])(n,d["d"],(function(e,t){e.sideCollapsed=t,u.a.set(d["d"],t)})),Object(c["a"])(n,d["k"],(function(e,t){e.isMobile=t})),Object(c["a"])(n,d["m"],(function(e,t){e.theme=t,u.a.set(d["m"],t)})),Object(c["a"])(n,d["j"],(function(e,t){e.layout=t,u.a.set(d["j"],t)})),Object(c["a"])(n,d["g"],(function(e,t){e.fixedHeader=t,u.a.set(d["g"],t)})),Object(c["a"])(n,d["h"],(function(e,t){e.fixedSidebar=t,u.a.set(d["h"],t)})),Object(c["a"])(n,d["f"],(function(e,t){e.contentWidth=t,u.a.set(d["f"],t)})),Object(c["a"])(n,d["i"],(function(e,t){e.autoHideHeader=t,u.a.set(d["i"],t)})),Object(c["a"])(n,d["e"],(function(e,t){e.color=t,u.a.set(d["e"],t)})),Object(c["a"])(n,d["n"],(function(e,t){e.weak=t,u.a.set(d["n"],t)})),Object(c["a"])(n,d["b"],(function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e.lang=t,e._antLocale=a,u.a.set(d["b"],t)})),Object(c["a"])(n,d["l"],(function(e,t){u.a.set(d["l"],t),e.multiTab=t})),n),actions:{setLang:function(e,t){var a=e.commit;return new Promise((function(e,n){a(d["b"],t),Object(f["c"])(t).then((function(){e()})).catch((function(e){n(e)}))}))}}},h=m,p=(a("b0c0"),a("d81d"),a("b775")),g={Login:"/auth/login",Logout:"/auth/logout",ForgePassword:"/auth/forge-password",Register:"/auth/register",twoStepCode:"/auth/2step-code",SendSms:"/account/sms",SendSmsErr:"/account/sms_err",UserInfo:"/user/info",UserMenu:"/user/nav"};function b(e){return Object(p["b"])({url:g.Login,method:"post",data:e})}function y(){return Object(p["b"])({url:g.UserInfo,method:"get",headers:{"Content-Type":"application/json;charset=UTF-8"}})}var v=a("ca00"),C={state:{token:"",name:"",welcome:"",avatar:"",roles:[],info:{}},mutations:{SET_TOKEN:function(e,t){e.token=t},SET_NAME:function(e,t){var a=t.name,n=t.welcome;e.name=a,e.welcome=n},SET_AVATAR:function(e,t){e.avatar=t},SET_ROLES:function(e,t){e.roles=t},SET_INFO:function(e,t){e.info=t}},actions:{Login:function(e,t){var a=e.commit;return new Promise((function(e,n){b(t).then((function(t){var n=t.data;u.a.set(d["a"],n.token,36e5),a("SET_TOKEN",n.token),e()})).catch((function(e){n(e)}))}))},GetInfo:function(e){var t=e.commit;return new Promise((function(e,a){y().then((function(n){var r=n.data;if(r["role"]={permissions:Object(v["a"])(r.role)},r.role&&r.role.permissions.length>0){var s=r.role;s.permissions=r.role.permissions,s.permissions.map((function(e){if(null!=e.actionEntitySet&&e.actionEntitySet.length>0){var t=e.actionEntitySet.map((function(e){return e.action}));e.actionList=t}})),s.permissionList=s.permissions.map((function(e){return e.permissionId})),t("SET_ROLES",r.role),t("SET_INFO",r)}else a(new Error("getInfo: roles must be a non-null array !"));t("SET_NAME",{name:r.username,welcome:Object(v["c"])()}),e(n)})).catch((function(e){a(e)}))}))},Logout:function(e){var t=e.commit;e.state;return new Promise((function(e){t("SET_TOKEN",""),t("SET_ROLES",[]),u.a.remove(d["a"]),e()}))}}},k=C,w=(a("caad"),a("2532"),a("4de4"),a("99af"),a("d73b")),N=a("cd3f"),S=a.n(N);function z(e,t){if(t.meta&&t.meta.permission){for(var a=!1,n=0,r=e.length;ndiv[type=loading]");a||(a=document.createElement("div"),a.setAttribute("type","loading"),a.setAttribute("class","ant-loading-wrapper"),document.body.appendChild(a));var n=Object.assign({visible:!1,size:"large",tip:"Loading..."},t),r=new e({data:function(){return Object(ze["a"])({},n)},render:function(){var e=arguments[0],t=this.tip,a={};return this.tip&&(a.tip=t),this.visible?e(je,{props:Object(ze["a"])({},a)}):null}}).$mount(a);function s(e){var t=Object(ze["a"])(Object(ze["a"])({},n),e),a=t.visible,s=t.size,o=t.tip;r.$set(r,"visible",a),o&&r.$set(r,"tip",o),s&&r.$set(r,"size",s)}return{instance:r,update:s}}},xe={show:function(e){this.instance.update(Object(ze["a"])(Object(ze["a"])({},e),{},{visible:!0}))},hide:function(){this.instance.update({visible:!1})}},Oe=function(e,t){e.prototype.$loading||(xe.instance=Le.newInstance(e,t),e.prototype.$loading=xe)},Te={version:Pe,install:Oe},Me=a("3835"),_e={add:{key:"add",label:"新增"},delete:{key:"delete",label:"删除"},edit:{key:"edit",label:"修改"},query:{key:"query",label:"查询"},get:{key:"get",label:"详情"},enable:{key:"enable",label:"启用"},disable:{key:"disable",label:"禁用"},import:{key:"import",label:"导入"},export:{key:"export",label:"导出"}};function Ae(e){Ae.installed||(!e.prototype.$auth&&Object.defineProperties(e.prototype,{$auth:{get:function(){var e=this;return function(t){var a=t.split("."),n=Object(Me["a"])(a,2),r=n[0],s=n[1],o=e.$store.getters.roles.permissions,i=o.find((function(e){return e.permissionId===r})).actionList;return!i||i.findIndex((function(e){return e===s}))>-1}}}}),!e.prototype.$enum&&Object.defineProperties(e.prototype,{$enum:{get:function(){return function(e){var t=_e;return e&&e.split(".").forEach((function(e){t=t&&t[e]||null})),t}}}}))}var Fe=Ae;r.a.directive("action",{inserted:function(e,t,a){var n=t.arg,r=k["a"].getters.roles,s=a.context.$route.meta.permission,o=s instanceof String&&[s]||s;r.permissions.forEach((function(t){o.includes(t.permissionId)&&t.actionList&&!t.actionList.includes(n)&&(e.parentNode&&e.parentNode.removeChild(e)||(e.style.display="none"))}))}});r.a.use(ve["a"]),r.a.use(ye["a"]),r.a.use(be["a"]),r.a.use(ge["a"]),r.a.use(pe["a"]),r.a.use(he["a"]),r.a.use(me["a"]),r.a.use(fe["a"]),r.a.use(de["b"]),r.a.use(ue["a"]),r.a.use(le["a"]),r.a.use(ce["a"]),r.a.use(ie["a"]),r.a.use(oe["a"]),r.a.use(se["a"]),r.a.use(re["a"]),r.a.use(ne["a"]),r.a.use(ae["a"]),r.a.use(te["a"]),r.a.use(ee["a"]),r.a.use(X["b"]),r.a.use(J["a"]),r.a.use(Z["a"]),r.a.use(Q["a"]),r.a.use(Y["a"]),r.a.use(K["a"]),r.a.use(H["a"]),r.a.use(G["a"]),r.a.use(W["a"]),r.a.use(V["a"]),r.a.use(q["a"]),r.a.use(B["a"]),r.a.use(D["a"]),r.a.use(I["a"]),r.a.use(R["a"]),r.a.use(U["a"]),r.a.use($["a"]),r.a.use(E["b"]),r.a.use(F["a"]),r.a.use(A["a"]),r.a.use(_["a"]),r.a.use(M["a"]),r.a.prototype.$confirm=oe["a"].confirm,r.a.prototype.$message=T["a"],r.a.prototype.$notification=O["a"],r.a.prototype.$info=oe["a"].info,r.a.prototype.$success=oe["a"].success,r.a.prototype.$error=oe["a"].error,r.a.prototype.$warning=oe["a"].warning,r.a.use(Ce["a"]),r.a.use(Ne["a"]),r.a.use(Se["a"]),r.a.use(Te),r.a.use(Fe),r.a.use(we.a);var Ee=a("323e"),$e=a.n(Ee);a("fddb");$e.a.configure({showSpinner:!1});var Ue=["login","register","registerResult"],Re="/user/login",Ie="/dashboard/workplace";C.beforeEach((function(e,t,a){$e.a.start(),e.meta&&"undefined"!==typeof e.meta.title&&c("".concat(Object(u["b"])(e.meta.title)," - ").concat(l)),j.a.get(P["a"])?e.path===Re?(a({path:Ie}),$e.a.done()):0===k["a"].getters.roles.length?k["a"].dispatch("GetInfo").then((function(n){var r=n.data&&n.data.role;k["a"].dispatch("GenerateRoutes",{roles:r}).then((function(){k["a"].getters.addRouters.forEach((function(e){C.addRoute(e)}));var n=decodeURIComponent(t.query.redirect||e.path);e.path===n?a(Object(ze["a"])(Object(ze["a"])({},e),{},{replace:!0})):a({path:n})}))})).catch((function(){k["a"].dispatch("Logout").then((function(){a({path:Re,query:{redirect:e.fullPath}})}))})):a():Ue.includes(e.name)?a():(a({path:Re,query:{redirect:e.fullPath}}),$e.a.done())})),C.afterEach((function(){$e.a.done()}));var De=a("c1df"),Be=a.n(De);a("5c3a");Be.a.locale("zh-cn"),r.a.filter("NumberFormat",(function(e){if(!e)return"0";var t=e.toString().replace(/(\d)(?=(?:\d{3})+$)/g,"$1,");return t})),r.a.filter("dayjs",(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"YYYY-MM-DD HH:mm:ss";return Be()(e).format(t)})),r.a.filter("moment",(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"YYYY-MM-DD HH:mm:ss";return Be()(e).format(t)}));a("861f");r.a.config.productionTip=!1,r.a.use(w["a"]),r.a.component("pro-layout",N["d"]),r.a.component("page-container",N["b"]),r.a.component("page-header-wrapper",N["b"]),window.umi_plugin_ant_themeVar=S.theme,new r.a({router:C,store:k["a"],i18n:u["a"],created:x,render:function(e){return e(p)}}).$mount("#app")},5880:function(e,t){e.exports=Vuex},6389:function(e,t){e.exports=VueRouter},"694f":function(e,t,a){},"69c3":function(e,t,a){"use strict";a.r(t),t["default"]={"result.fail.error.title":"Submission Failed","result.fail.error.description":"Please check and modify the following information before resubmitting.","result.fail.error.hint-title":"The content you submitted has the following error:","result.fail.error.hint-text1":"Your account has been frozen","result.fail.error.hint-btn1":"Thaw immediately","result.fail.error.hint-text2":"Your account is not yet eligible to apply","result.fail.error.hint-btn2":"Upgrade immediately","result.fail.error.btn-text":"Return to modify"}},"6e2f":function(e,t,a){"use strict";a.r(t),t["default"]={submit:"Submit",save:"Save","submit.ok":"Submit successfully","save.ok":"Saved successfully"}},"743d":function(e,t,a){"use strict";a.r(t);var n=a("5530"),r=a("8b45"),s=a("0ff2"),o=a.n(s),i=a("6e2f"),c=a("771d"),l=a("5030"),u=a("928e"),d=a("dea1"),f=a("ffb6"),m=a("78a1"),h=a("29fd"),p={antLocale:r["a"],momentName:"eu",momentLocale:o.a};t["default"]=Object(n["a"])(Object(n["a"])(Object(n["a"])(Object(n["a"])(Object(n["a"])(Object(n["a"])(Object(n["a"])(Object(n["a"])(Object(n["a"])({message:"-","layouts.usermenu.dialog.title":"Message","layouts.usermenu.dialog.content":"Are you sure you would like to logout?","layouts.userLayout.title":"Easy to use distributed exception retry service platform"},p),i["default"]),c["default"]),l["default"]),u["default"]),d["default"]),f["default"]),m["default"]),h["default"])},"771d":function(e,t,a){"use strict";a.r(t),t["default"]={"menu.welcome":"Welcome","menu.home":"Home","menu.dashboard":"Dashboard","menu.dashboard.analysis":"Analysis","menu.dashboard.monitor":"Monitor","menu.dashboard.workplace":"Workplace","menu.form":"Form","menu.form.basic-form":"Basic Form","menu.form.step-form":"Step Form","menu.form.step-form.info":"Step Form(write transfer information)","menu.form.step-form.confirm":"Step Form(confirm transfer information)","menu.form.step-form.result":"Step Form(finished)","menu.form.advanced-form":"Advanced Form","menu.list":"List","menu.list.table-list":"Search Table","menu.list.basic-list":"Basic List","menu.list.card-list":"Card List","menu.list.search-list":"Search List","menu.list.search-list.articles":"Search List(articles)","menu.list.search-list.projects":"Search List(projects)","menu.list.search-list.applications":"Search List(applications)","menu.profile":"Profile","menu.profile.basic":"Basic Profile","menu.profile.advanced":"Advanced Profile","menu.result":"Result","menu.result.success":"Success","menu.result.fail":"Fail","menu.exception":"Exception","menu.exception.not-permission":"403","menu.exception.not-find":"404","menu.exception.server-error":"500","menu.exception.trigger":"Trigger","menu.account":"Account","menu.account.center":"Account Center","menu.account.settings":"Account Settings","menu.account.trigger":"Trigger Error","menu.account.logout":"Logout"}},"78a1":function(e,t,a){"use strict";a.r(t);var n=a("5530"),r=a("44e5"),s=a("69c3");t["default"]=Object(n["a"])(Object(n["a"])({},r["default"]),s["default"])},"861f":function(e,t,a){},"8bbf":function(e,t){e.exports=Vue},"8eeb4":function(e,t,a){var n=a("b2b7");e.exports={__esModule:!0,default:n.svgComponent({tag:"svg",attrsMap:{viewBox:"0 0 128 128",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},children:[{tag:"title",children:[{text:"Vue"}]},{tag:"desc",children:[{text:"Created with Sketch."}]},{tag:"defs",children:[{tag:"linearGradient",attrsMap:{x1:"69.644116%",y1:"0%",x2:"69.644116%",y2:"100%",id:"linearGradient-1"},children:[{tag:"stop",attrsMap:{"stop-color":"#29CDFF",offset:"0%"}},{tag:"stop",attrsMap:{"stop-color":"#148EFF",offset:"37.8600687%"}},{tag:"stop",attrsMap:{"stop-color":"#0A60FF",offset:"100%"}}]},{tag:"linearGradient",attrsMap:{x1:"-19.8191553%",y1:"-36.7931464%",x2:"138.57919%",y2:"157.637507%",id:"linearGradient-2"},children:[{tag:"stop",attrsMap:{"stop-color":"#29CDFF",offset:"0%"}},{tag:"stop",attrsMap:{"stop-color":"#0F78FF",offset:"100%"}}]},{tag:"linearGradient",attrsMap:{x1:"68.1279872%",y1:"-35.6905737%",x2:"30.4400914%",y2:"114.942679%",id:"linearGradient-3"},children:[{tag:"stop",attrsMap:{"stop-color":"#FA8E7D",offset:"0%"}},{tag:"stop",attrsMap:{"stop-color":"#F74A5C",offset:"51.2635191%"}},{tag:"stop",attrsMap:{"stop-color":"#F51D2C",offset:"100%"}}]}]},{tag:"g",attrsMap:{id:"Vue",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},children:[{tag:"g",attrsMap:{id:"Group",transform:"translate(19.000000, 9.000000)"},children:[{tag:"path",attrsMap:{d:"M89.96,90.48 C78.58,93.48 68.33,83.36 67.62,82.48 L46.6604487,62.2292258 C45.5023849,61.1103236 44.8426845,59.5728835 44.8296987,57.9626396 L44.5035564,17.5209948 C44.4948861,16.4458744 44.0537714,15.4195095 43.2796864,14.6733517 L29.6459999,1.53153737 C28.055475,-0.00160504005 25.5232423,0.0449126588 23.9900999,1.63543756 C23.2715121,2.38092066 22.87,3.37600834 22.87,4.41143746 L22.87,64.3864751 C22.87,67.0807891 23.9572233,69.6611067 25.885409,71.5429748 L63.6004615,108.352061 C65.9466323,110.641873 69.6963584,110.624605 72.0213403,108.313281",id:"Path-Copy",fill:"url(#linearGradient-1)","fill-rule":"nonzero",transform:"translate(56.415000, 54.831157) scale(-1, 1) translate(-56.415000, -54.831157) "}},{tag:"path",attrsMap:{d:"M68,90.1163122 C56.62,93.1163122 45.46,83.36 44.75,82.48 L23.7904487,62.2292258 C22.6323849,61.1103236 21.9726845,59.5728835 21.9596987,57.9626396 L21.6335564,17.5209948 C21.6248861,16.4458744 21.1837714,15.4195095 20.4096864,14.6733517 L6.7759999,1.53153737 C5.185475,-0.00160504005 2.65324232,0.0449126588 1.12009991,1.63543756 C0.401512125,2.38092066 3.90211878e-13,3.37600834 3.90798505e-13,4.41143746 L3.94351218e-13,64.3864751 C3.94681177e-13,67.0807891 1.08722326,69.6611067 3.01540903,71.5429748 L40.7807092,108.401101 C43.1069304,110.671444 46.8180151,110.676525 49.1504445,108.412561",id:"Path",fill:"url(#linearGradient-2)","fill-rule":"nonzero"}},{tag:"path",attrsMap:{d:"M43.2983488,19.0991931 L27.5566079,3.88246244 C26.7624281,3.11476967 26.7409561,1.84862177 27.5086488,1.05444194 C27.8854826,0.664606611 28.4044438,0.444472651 28.9466386,0.444472651 L60.3925021,0.444472651 C61.4970716,0.444472651 62.3925021,1.33990315 62.3925021,2.44447265 C62.3925021,2.9858375 62.1730396,3.50407742 61.7842512,3.88079942 L46.0801285,19.0975301 C45.3051579,19.8484488 44.0742167,19.8491847 43.2983488,19.0991931 Z",id:"Path",fill:"url(#linearGradient-3)"}}]}]}]})}},"91a5":function(e,t,a){},"928e":function(e,t,a){"use strict";a.r(t),t["default"]={"user.login.userName":"userName","user.login.password":"password","user.login.username.placeholder":"Please enter the username","user.login.password.placeholder":"Please enter the password","user.login.message-invalid-credentials":"Invalid username or password","user.login.message-invalid-verification-code":"Invalid verification code","user.login.tab-login-credentials":"Credentials","user.login.tab-login-mobile":"Mobile number","user.login.mobile.placeholder":"Mobile number","user.login.mobile.verification-code.placeholder":"Verification code","user.login.remember-me":"Remember me","user.login.forgot-password":"Forgot your password?","user.login.sign-in-with":"Sign in with","user.login.signup":"Sign up","user.login.login":"Login","user.register.register":"Register","user.register.email.placeholder":"Email","user.register.password.placeholder":"Password ","user.register.password.popover-message":"Please enter at least 6 characters. Please do not use passwords that are easy to guess. ","user.register.confirm-password.placeholder":"Confirm password","user.register.get-verification-code":"Get code","user.register.sign-in":"Already have an account?","user.register-result.msg":"Account:registered at {email}","user.register-result.activation-email":"The activation email has been sent to your email address and is valid for 24 hours. Please log in to the email in time and click on the link in the email to activate the account.","user.register-result.back-home":"Back to home","user.register-result.view-mailbox":"View mailbox","user.email.required":"Please enter your email!","user.email.wrong-format":"The email address is in the wrong format!","user.userName.required":"Please enter account name or email address","user.password.required":"Please enter your password!","user.password.twice.msg":"The passwords entered twice do not match!","user.password.strength.msg":"The password is not strong enough","user.password.strength.strong":"Strength: strong","user.password.strength.medium":"Strength: medium","user.password.strength.low":"Strength: low","user.password.strength.short":"Strength: too short","user.confirm-password.required":"Please confirm your password!","user.phone-number.required":"Please enter your phone number!","user.phone-number.wrong-format":"Please enter a valid phone number","user.verification-code.required":"Please enter the verification code!"}},"9fb0":function(e,t,a){"use strict";a.d(t,"a",(function(){return n})),a.d(t,"d",(function(){return r})),a.d(t,"k",(function(){return s})),a.d(t,"m",(function(){return o})),a.d(t,"j",(function(){return i})),a.d(t,"g",(function(){return c})),a.d(t,"h",(function(){return l})),a.d(t,"f",(function(){return u})),a.d(t,"i",(function(){return d})),a.d(t,"e",(function(){return f})),a.d(t,"n",(function(){return m})),a.d(t,"l",(function(){return h})),a.d(t,"b",(function(){return p})),a.d(t,"c",(function(){return g}));var n="Access-Token",r="sidebar_type",s="is_mobile",o="nav_theme",i="layout",c="fixed_header",l="fixed_sidebar",u="content_width",d="auto_hide_header",f="color",m="weak",h="multi_tab",p="app_language",g={Fluid:"Fluid",Fixed:"Fixed"}},b775:function(e,t,a){"use strict";a.d(t,"a",(function(){return m}));a("d3b7");var n=a("cebe"),r=a.n(n),s=a("4360"),o=a("8ded"),i=a.n(o),c=a("56cd"),l={vm:{},install:function(e,t){this.installed||(this.installed=!0,t&&(e.axios=t,Object.defineProperties(e.prototype,{axios:{get:function(){return t}},$http:{get:function(){return t}}})))}},u=a("9fb0"),d=r.a.create({baseURL:"",timeout:6e3}),f=function(e){if(e.response){var t=e.response.data,a=i.a.get(u["a"]);403===e.response.status&&c["a"].error({message:"Forbidden",description:t.message}),401!==e.response.status||t.result&&t.result.isLogin||(c["a"].error({message:"Unauthorized",description:"Authorization verification failed"}),a&&s["a"].dispatch("Logout").then((function(){setTimeout((function(){window.location.reload()}),1500)})))}return Promise.reject(e)};d.interceptors.request.use((function(e){var t=i.a.get(u["a"]);return t&&(e.headers["EASY-RETRY-AUTH"]=t),e}),f),d.interceptors.response.use((function(e){var t=e.data,a=t.status,n=t.message;return 0===a?(c["a"].error({message:n||"Error",duration:3}),Promise.reject(new Error(n||"Error"))):e.data}),f);var m={vm:{},install:function(e){e.use(l,d)}};t["b"]=d},b781:function(e,t,a){"use strict";a.r(t),t["default"]={"dashboard.analysis.test":"Gongzhuan No.{no} shop","dashboard.analysis.introduce":"Introduce","dashboard.analysis.total-sales":"Total Sales","dashboard.analysis.day-sales":"Daily Sales","dashboard.analysis.visits":"Visits","dashboard.analysis.visits-trend":"Visits Trend","dashboard.analysis.visits-ranking":"Visits Ranking","dashboard.analysis.day-visits":"Daily Visits","dashboard.analysis.week":"WoW Change","dashboard.analysis.day":"DoD Change","dashboard.analysis.payments":"Payments","dashboard.analysis.conversion-rate":"Conversion Rate","dashboard.analysis.operational-effect":"Operational Effect","dashboard.analysis.sales-trend":"Stores Sales Trend","dashboard.analysis.sales-ranking":"Sales Ranking","dashboard.analysis.all-year":"All Year","dashboard.analysis.all-month":"All Month","dashboard.analysis.all-week":"All Week","dashboard.analysis.all-day":"All day","dashboard.analysis.search-users":"Search Users","dashboard.analysis.per-capita-search":"Per Capita Search","dashboard.analysis.online-top-search":"Online Top Search","dashboard.analysis.the-proportion-of-sales":"The Proportion Of Sales","dashboard.analysis.dropdown-option-one":"Operation one","dashboard.analysis.dropdown-option-two":"Operation two","dashboard.analysis.channel.all":"ALL","dashboard.analysis.channel.online":"Online","dashboard.analysis.channel.stores":"Stores","dashboard.analysis.sales":"Sales","dashboard.analysis.traffic":"Traffic","dashboard.analysis.table.rank":"Rank","dashboard.analysis.table.search-keyword":"Keyword","dashboard.analysis.table.users":"Users","dashboard.analysis.table.weekly-range":"Weekly Range"}},bf0f:function(e,t,a){"use strict";a.d(t,"c",(function(){return b})),a.d(t,"b",(function(){return y}));var n=a("5530"),r=(a("d3b7"),a("caad"),a("3ca3"),a("ddb0"),a("8bbf")),s=a.n(r),o=a("a925"),i=a("8ded"),c=a.n(i),l=a("c1df"),u=a.n(l),d=a("743d");s.a.use(o["a"]);var f="en-US",m={"en-US":Object(n["a"])({},d["default"])},h=new o["a"]({silentTranslationWarn:!0,locale:f,fallbackLocale:f,messages:m}),p=[f];function g(e){return h.locale=e,document.querySelector("html").setAttribute("lang",e),e}function b(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f;return new Promise((function(t){return c.a.set("lang",e),h.locale!==e?p.includes(e)?t(g(e)):a("4aa4")("./".concat(e)).then((function(t){var a=t.default;return h.setLocaleMessage(e,a),p.push(e),u.a.updateLocale(a.momentName,a.momentLocale),g(e)})):t(e)}))}function y(e){return h.t("".concat(e))}t["a"]=h},ca00:function(e,t,a){"use strict";a.d(t,"b",(function(){return n})),a.d(t,"c",(function(){return r})),a.d(t,"a",(function(){return s}));a("ac1f");function n(){var e=new Date,t=e.getHours();return t<9?"早上好":t<=11?"上午好":t<=13?"中午好":t<20?"下午好":"晚上好"}function r(){var e=["休息一会儿吧","准备吃什么呢?","要不要打一把 DOTA","我猜你可能累了"],t=Math.floor(Math.random()*e.length);return e[t]}function s(e){var t={1:[{roleId:1,permissionId:"group",permissionName:"组配置",actionEntitySet:[]},{roleId:1,permissionId:"dashboard",permissionName:"看板"},{roleId:1,permissionId:"retryTask",permissionName:"任务管理"},{roleId:1,permissionId:"retryDeadLetter",permissionName:"死信队列管理"},{roleId:1,permissionId:"retryLog",permissionName:"重试日志管理"},{roleId:1,permissionId:"basicConfig",permissionName:"基础信息配置"}],2:[{roleId:2,permissionId:"group",permissionName:"组配置",actionEntitySet:[{action:"add",describe:"新增",defaultCheck:!1}]},{roleId:2,permissionId:"user",permissionName:"用户"},{roleId:2,permissionId:"userForm",permissionName:"新增或更新用户"},{roleId:2,permissionId:"dashboard",permissionName:"看板"},{roleId:2,permissionId:"retryTask",permissionName:"任务管理"},{roleId:2,permissionId:"retryDeadLetter",permissionName:"死信队列管理"},{roleId:2,permissionId:"retryLog",permissionName:"重试日志管理"},{roleId:2,permissionId:"basicConfig",permissionName:"基础信息配置"}]};return t[e]}},cebe:function(e,t){e.exports=axios},cf3a:function(e,t,a){"use strict";a("694f")},d73b:function(e,t,a){"use strict";a.d(t,"a",(function(){return je})),a.d(t,"b",(function(){return Pe}));a("d3b7"),a("3ca3"),a("ddb0");var n,r,s,o,i=function(){var e=this,t=e._self._c;return t("div",{class:["user-layout-wrapper",e.isMobile&&"mobile"],attrs:{id:"userLayout"}},[t("div",{staticClass:"container"},[t("div",{staticClass:"user-layout-lang"},[t("select-lang",{staticClass:"select-lang-trigger"})],1),t("div",{staticClass:"user-layout-content"},[t("div",{staticClass:"top"},[e._m(0),t("div",{staticClass:"desc"},[e._v(" "+e._s(e.$t("layouts.userLayout.title"))+" ")])]),t("router-view"),e._m(1)],1)])])},c=[function(){var e=this,t=e._self._c;return t("div",{staticClass:"header"},[t("a",{attrs:{href:"/"}},[t("span",{staticClass:"title"},[e._v("Easy-Retry")])])])},function(){var e=this,t=e._self._c;return t("div",{staticClass:"footer"},[t("div",{staticClass:"links"},[t("a",{attrs:{href:"_self"}},[e._v("帮助")]),t("a",{attrs:{href:"_self"}},[e._v("隐私")]),t("a",{attrs:{href:"_self"}},[e._v("条款")])]),t("div",{staticClass:"copyright"},[e._v(" Copyright © 2018 vueComponent ")])])}],l=a("5530"),u=a("5880"),d={computed:Object(l["a"])({},Object(u["mapState"])({isMobile:function(e){return e.app.isMobile}}))},f=(a("9d5c"),a("a600")),m=(a("8fb1"),a("0c63")),h=(a("fbd8"),a("55f1")),p=(a("d81d"),a("2a47"),a("bf0f")),g={computed:Object(l["a"])({},Object(u["mapState"])({currentLang:function(e){return e.app.lang}})),methods:{setLang:function(e){this.$store.dispatch("setLang",e)}}},b=g,y=["zh-CN","zh-TW","en-US","pt-BR"],v={"zh-CN":"简体中文","zh-TW":"繁体中文","en-US":"English","pt-BR":"Português"},C={"zh-CN":"🇨🇳","zh-TW":"🇭🇰","en-US":"🇺🇸","pt-BR":"🇧🇷"},k={props:{prefixCls:{type:String,default:"ant-pro-drop-down"}},name:"SelectLang",mixins:[b],render:function(){var e=this,t=arguments[0],a=this.prefixCls,n=function(t){var a=t.key;e.setLang(a)},r=t(h["a"],{class:["menu","ant-pro-header-menu"],attrs:{selectedKeys:[this.currentLang]},on:{click:n}},[y.map((function(e){return t(h["a"].Item,{key:e},[t("span",{attrs:{role:"img","aria-label":v[e]}},[C[e]])," ",v[e]])}))]);return t(f["a"],{attrs:{overlay:r,placement:"bottomRight"}},[t("span",{class:a},[t(m["a"],{attrs:{type:"global",title:Object(p["b"])("navBar.lang")}})])])}},w=k,N={name:"UserLayout",components:{SelectLang:w},mixins:[d],mounted:function(){document.body.classList.add("userLayout")},beforeDestroy:function(){document.body.classList.remove("userLayout")}},S=N,z=(a("cf3a"),a("2877")),j=Object(z["a"])(S,i,c,!1,null,"6baceae0",null),P=j.exports,L=function(){var e=this,t=e._self._c;return t("div",[t("router-view")],1)},x=[],O={name:"BlankLayout"},T=O,M=Object(z["a"])(T,L,x,!1,null,"7f25f9eb",null),_=(M.exports,function(){var e=this,t=e._self._c;return t("pro-layout",e._b({attrs:{menus:e.menus,collapsed:e.collapsed,mediaQuery:e.query,isMobile:e.isMobile,handleMediaQuery:e.handleMediaQuery,handleCollapse:e.handleCollapse,i18nRender:e.i18nRender},scopedSlots:e._u([{key:"menuHeaderRender",fn:function(){return[t("div",[t("h1",[e._v(e._s(e.title))])])]},proxy:!0},{key:"headerContentRender",fn:function(){return[t("div",[t("a-tooltip",{attrs:{title:"刷新页面"}},[t("a-icon",{staticStyle:{"font-size":"18px",cursor:"pointer"},attrs:{type:"reload"},on:{click:function(){e.$router.go(0)}}})],1)],1)]},proxy:!0},{key:"rightContentRender",fn:function(){return[t("right-content",{attrs:{"top-menu":"topmenu"===e.settings.layout,"is-mobile":e.isMobile,theme:e.settings.theme}})]},proxy:!0},{key:"footerRender",fn:function(){return[t("global-footer")]},proxy:!0}])},"pro-layout",e.settings,!1),[e.isProPreviewSite&&!e.collapsed?t("ads"):e._e(),e.isDev?t("setting-drawer",{attrs:{settings:e.settings},on:{change:e.handleSettingChange}},[t("div",{staticStyle:{margin:"12px 0"}},[e._v(" This is SettingDrawer custom footer content. ")])]):e._e(),t("router-view")],1)}),A=[],F=(a("7db0"),a("c0d2")),E=a("9fb0"),$=a("e819"),U=function(){var e=this,t=e._self._c;return t("div",{class:e.wrpCls},[t("avatar-dropdown",{class:e.prefixCls,attrs:{menu:e.showMenu,"current-user":e.currentUser}}),t("select-lang",{class:e.prefixCls})],1)},R=[],I=a("ade3"),D=(a("b0c0"),function(){var e=this,t=e._self._c;return e.currentUser&&e.currentUser.name?t("a-dropdown",{attrs:{placement:"bottomRight"},scopedSlots:e._u([{key:"overlay",fn:function(){return[t("a-menu",{staticClass:"ant-pro-drop-down menu",attrs:{"selected-keys":[]}},[t("a-menu-item",{key:"logout",on:{click:e.handleLogout}},[t("a-icon",{attrs:{type:"logout"}}),e._v(" "+e._s(e.$t("menu.account.logout"))+" ")],1)],1)]},proxy:!0}],null,!1,3699420034)},[t("span",{staticClass:"ant-pro-account-avatar"},[t("a-avatar",{staticClass:"antd-pro-global-header-index-avatar",attrs:{size:"small",src:"https://gw.alipayobjects.com/zos/antfincdn/XAosXuNZyF/BiazfanxmamNRoxxVxka.png"}}),t("span",[e._v(e._s(e.currentUser.name))])],1)]):t("span",[t("a-spin",{style:{marginLeft:8,marginRight:8},attrs:{size:"small"}})],1)}),B=[],q=(a("cd17"),a("ed3b")),V={name:"AvatarDropdown",props:{currentUser:{type:Object,default:function(){return null}},menu:{type:Boolean,default:!0}},methods:{handleToCenter:function(){this.$router.push({path:"/account/center"})},handleToSettings:function(){this.$router.push({path:"/account/settings"})},handleLogout:function(e){var t=this;q["a"].confirm({title:this.$t("layouts.usermenu.dialog.title"),content:this.$t("layouts.usermenu.dialog.content"),onOk:function(){return t.$store.dispatch("Logout").then((function(){t.$router.push({name:"login"})}))},onCancel:function(){}})}}},W=V,G=(a("f4ba"),Object(z["a"])(W,D,B,!1,null,"fd4de960",null)),H=G.exports,K={name:"RightContent",components:{AvatarDropdown:H,SelectLang:w},props:{prefixCls:{type:String,default:"ant-pro-global-header-index-action"},isMobile:{type:Boolean,default:function(){return!1}},topMenu:{type:Boolean,required:!0},theme:{type:String,required:!0}},data:function(){return{showMenu:!0,currentUser:{}}},computed:{wrpCls:function(){return Object(I["a"])({"ant-pro-global-header-index-right":!0},"ant-pro-global-header-index-".concat(this.isMobile||!this.topMenu?"light":this.theme),!0)}},mounted:function(){var e=this;setTimeout((function(){e.currentUser={name:e.$store.getters.nickname}}),1500)}},Y=K,Q=Object(z["a"])(Y,U,R,!1,null,null,null),Z=Q.exports,J=function(){var e=this,t=e._self._c;return t("global-footer",{staticClass:"footer custom-render",scopedSlots:e._u([{key:"links",fn:function(){return[t("a",{attrs:{href:"https://www.github.com/vueComponent/pro-layout",target:"_blank"}},[e._v("Pro Layout")]),t("a",{attrs:{href:"https://www.github.com/vueComponent/ant-design-vue-pro",target:"_blank"}},[e._v("Github")]),t("a",{attrs:{href:"https://www.github.com/sendya/",target:"_blank"}},[e._v("@Sendya")])]},proxy:!0},{key:"copyright",fn:function(){return[t("a",{attrs:{href:"https://github.com/vueComponent",target:"_blank"}},[e._v("vueComponent")])]},proxy:!0}])})},X=[],ee={name:"ProGlobalFooter",components:{GlobalFooter:F["a"]}},te=ee,ae=Object(z["a"])(te,J,X,!1,null,null,null),ne=ae.exports,re="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js",se={props:{isMobile:Boolean},mounted:function(){},methods:{load:function(){if(re){var e=document.createElement("script");e.id="_adsbygoogle_js",e.src=re,this.$el.appendChild(e),setTimeout((function(){(window.adsbygoogle||[]).push({})}),2e3)}}},render:function(){var e=arguments[0];return e("div",{class:"business-pro-ad"},[e("a",{attrs:{href:"https://store.antdv.com/pro/",target:"_blank"}},["(推荐) 企业级商用版 Admin Pro 现已发售,采用 Vue3 + TS 欢迎购买。"])])}},oe=se,ie=(a("13cf"),Object(z["a"])(oe,n,r,!1,null,"4109f67d",null)),ce=ie.exports,le=a("8eeb4"),ue=a.n(le),de={name:"BasicLayout",components:{SettingDrawer:F["c"],RightContent:Z,GlobalFooter:ne,LogoSvg:ue.a,Ads:ce},data:function(){return{isProPreviewSite:!1,isDev:!1,menus:[],collapsed:!1,title:$["a"].title,settings:{layout:$["a"].layout,contentWidth:"sidemenu"===$["a"].layout?E["c"].Fluid:$["a"].contentWidth,theme:$["a"].navTheme,primaryColor:$["a"].primaryColor,fixedHeader:$["a"].fixedHeader,fixSiderbar:$["a"].fixSiderbar,colorWeak:$["a"].colorWeak,hideHintAlert:!1,hideCopyButton:!1},query:{},isMobile:!1}},computed:Object(l["a"])({},Object(u["mapState"])({mainMenu:function(e){return e.permission.addRouters}})),created:function(){var e=this,t=this.mainMenu.find((function(e){return"/"===e.path}));this.menus=t&&t.children||[],this.$watch("collapsed",(function(){e.$store.commit(E["d"],e.collapsed)})),this.$watch("isMobile",(function(){e.$store.commit(E["k"],e.isMobile)}))},mounted:function(){var e=this,t=navigator.userAgent;t.indexOf("Edge")>-1&&this.$nextTick((function(){e.collapsed=!e.collapsed,setTimeout((function(){e.collapsed=!e.collapsed}),16)}))},methods:{i18nRender:p["b"],handleMediaQuery:function(e){this.query=e,!this.isMobile||e["screen-xs"]?!this.isMobile&&e["screen-xs"]&&(this.isMobile=!0,this.collapsed=!1,this.settings.contentWidth=E["c"].Fluid):this.isMobile=!1},handleCollapse:function(e){this.collapsed=e},handleSettingChange:function(e){var t=e.type,a=e.value;switch(t&&(this.settings[t]=a),t){case"contentWidth":this.settings[t]=a;break;case"layout":"sidemenu"===a?this.settings.contentWidth=E["c"].Fluid:(this.settings.fixSiderbar=!1,this.settings.contentWidth=E["c"].Fixed);break}}}},fe=de,me=(a("3b74"),Object(z["a"])(fe,_,A,!1,null,null,null)),he=me.exports,pe={name:"RouteView",props:{keepAlive:{type:Boolean,default:!0}},data:function(){return{}},render:function(){var e=arguments[0],t=this.$route.meta,a=this.$store.getters,n=e("keep-alive",[e("router-view")]),r=e("router-view");return(a.multiTab||t.keepAlive)&&(this.keepAlive||a.multiTab||t.keepAlive)?n:r}},ge=pe,be=Object(z["a"])(ge,s,o,!1,null,null,null),ye=(be.exports,function(){var e=this,t=e._self._c;return t("page-header-wrapper",[t("router-view")],1)}),ve=[],Ce={name:"PageView"},ke=Ce,we=Object(z["a"])(ke,ye,ve,!1,null,null,null),Ne=(we.exports,a("0dbd")),Se=a.n(Ne),ze={name:"RouteView",render:function(e){return e("router-view")}},je=[{path:"/",name:"index",component:he,meta:{title:"menu.home"},redirect:"/dashboard/analysis",children:[{path:"/dashboard",name:"dashboard",redirect:"/dashboard/analysis",hideChildrenInMenu:!0,component:ze,meta:{title:"menu.dashboard",keepAlive:!0,icon:Se.a,permission:["dashboard"]},children:[{path:"/dashboard/analysis",name:"Analysis",component:function(){return Promise.all([a.e("chunk-39be5683"),a.e("chunk-77aaac2a")]).then(a.bind(null,"2f3a"))},meta:{title:"menu.dashboard.analysis",keepAlive:!0,permission:["dashboard"]}}]},{path:"/basic-config-list",name:"basicConfigList",component:function(){return Promise.all([a.e("chunk-39be5683"),a.e("chunk-2d21a08f")]).then(a.bind(null,"ba93"))},meta:{title:"组管理",icon:"profile",permission:["group"]}},{path:"/basic-config",name:"basicConfig",hidden:!0,component:function(){return Promise.all([a.e("chunk-39be5683"),a.e("chunk-4a2f6b49")]).then(a.bind(null,"e941"))},meta:{title:"基础信息配置",hidden:!0,hideChildrenInMenu:!0,icon:"profile",permission:["basicConfig"]}},{path:"/retry-task",name:"RetryTask",component:ze,hideChildrenInMenu:!0,redirect:"/retry-task/list",meta:{title:"任务管理",icon:"profile",hideChildrenInMenu:!0,keepAlive:!0,permission:["retryTask"]},children:[{path:"/retry-task/info",name:"RetryTaskInfo",component:function(){return a.e("chunk-35f6c8ac").then(a.bind(null,"99f5"))},meta:{title:"任务管理详情",icon:"profile",keepAlive:!0,permission:["retryTask"]}},{path:"/retry-task/list",name:"RetryTaskList",component:function(){return Promise.all([a.e("chunk-39be5683"),a.e("chunk-71608044")]).then(a.bind(null,"9d75"))},meta:{title:"任务管理列表",icon:"profile",keepAlive:!0,permission:["retryTask"]}}]},{path:"/retry-dead-letter",name:"RetryDeadLetter",component:ze,hideChildrenInMenu:!0,redirect:"/retry-dead-letter/list",meta:{title:"死信队列管理",icon:"profile",permission:["retryDeadLetter"]},children:[{path:"/retry-dead-letter/list",name:"RetryDeadLetterList",component:function(){return Promise.all([a.e("chunk-39be5683"),a.e("chunk-244a93b4")]).then(a.bind(null,"dafb"))},meta:{title:"死信队列管理列表",icon:"profile",permission:["retryDeadLetter"]}},{path:"/retry-dead-letter/info",name:"RetryDeadLetterInfo",component:function(){return a.e("chunk-2672acfa").then(a.bind(null,"56bb"))},meta:{title:"死信队列管理详情",icon:"profile",permission:["retryDeadLetter"]}}]},{path:"/retry-log",name:"RetryLog",component:ze,hideChildrenInMenu:!0,redirect:"/retry-log/list",meta:{title:"重试日志管理",icon:"profile",permission:["retryLog"]},children:[{path:"/retry-log/list",name:"RetryLogList",component:function(){return Promise.all([a.e("chunk-39be5683"),a.e("chunk-1bf36f2c")]).then(a.bind(null,"0564"))},meta:{title:"重试日志列表",icon:"profile",permission:["retryLog"]}},{path:"/retry-log/info",name:"RetryLogInfo",component:function(){return a.e("chunk-2515aa86").then(a.bind(null,"5fe2"))},meta:{title:"重试日志详情",icon:"profile",permission:["retryLog"]}}]},{path:"/user-list",name:"UserList",component:function(){return Promise.all([a.e("chunk-39be5683"),a.e("chunk-bf3addda")]).then(a.bind(null,"1faf"))},meta:{title:"用户管理",icon:"profile",permission:["user"]}},{path:"/user-form",name:"UserForm",hidden:!0,component:function(){return a.e("chunk-08798c7e").then(a.bind(null,"bf80"))},meta:{title:"新增或更新用户",icon:"profile",permission:["userForm"]}}]},{path:"*",redirect:"/404",hidden:!0}],Pe=[{path:"/user",component:P,redirect:"/user/login",hidden:!0,children:[{path:"login",name:"login",component:function(){return a.e("user").then(a.bind(null,"ac2a"))}},{path:"recover",name:"recover",component:void 0}]},{path:"/404",component:function(){return a.e("fail").then(a.bind(null,"cc89"))}}]},dea1:function(e,t,a){"use strict";a.r(t);var n=a("5530"),r=a("b781");t["default"]=Object(n["a"])({},r["default"])},e06b:function(e,t,a){},e819:function(e,t,a){"use strict";t["a"]={navTheme:"dark",primaryColor:"#1890ff",layout:"topmenu",contentWidth:"Fixed",fixedHeader:!1,fixSiderbar:!1,colorWeak:!1,menu:{locale:!0},title:"Easy-Retry",pwa:!1,iconfontUrl:"",production:!0}},f4ba:function(e,t,a){"use strict";a("e06b")},fddb:function(e,t,a){},ffb6:function(e,t,a){"use strict";a.r(t);var n=a("5530"),r=a("0af2");t["default"]=Object(n["a"])({},r["default"])}}); \ No newline at end of file +(function(e){function t(t){for(var n,r,i=t[0],c=t[1],l=t[2],u=0,d=[];udiv[type=dialog]");i||(i=document.createElement("div"),i.setAttribute("type","dialog"),document.body.appendChild(i));var c=function(e,t){if(e instanceof Function){var a=e();a instanceof Promise?a.then((function(e){e&&t()})):a&&t()}else e||t()},l=new e({data:function(){return{visible:!0}},router:o.$router,store:o.$store,mounted:function(){var e=this;this.$on("close",(function(t){e.handleClose()}))},methods:{handleClose:function(){var e=this;c(this.$refs._component.onCancel,(function(){e.visible=!1,e.$refs._component.$emit("close"),e.$refs._component.$emit("cancel"),l.$destroy()}))},handleOk:function(){var e=this;c(this.$refs._component.onOK||this.$refs._component.onOk,(function(){e.visible=!1,e.$refs._component.$emit("close"),e.$refs._component.$emit("ok"),l.$destroy()}))}},render:function(e){var o=this,i=s&&s.model;i&&delete s.model;var c=Object.assign({},i&&{model:i}||{},{attrs:Object.assign({},Object(n["a"])({},s.attrs||s),{visible:this.visible}),on:Object.assign({},Object(n["a"])({},s.on||s),{ok:function(){o.handleOk()},cancel:function(){o.handleClose()}})}),l=a&&a.model;l&&delete a.model;var u=Object.assign({},l&&{model:l}||{},{ref:"_component",attrs:Object.assign({},Object(n["a"])({},a&&a.attrs||a)),on:Object.assign({},Object(n["a"])({},a&&a.on||a))});return e(r["a"],c,[e(t,u)])}}).$mount(i)}}Object.defineProperty(e.prototype,"$dialog",{get:function(){return function(){t.apply(this,arguments)}}})}},"29fd":function(e,t,a){"use strict";a.r(t);var n=a("5530"),r=a("4404");t["default"]=Object(n["a"])({},r["default"])},"2a47":function(e,t,a){},"31fc":function(e,t,a){"use strict";var n,r,s=a("8bbf"),o=a.n(s),i=new o.a,c=a("5530"),l=(a("b0c0"),a("7db0"),a("d3b7"),a("4de4"),a("caad"),a("2532"),a("159b"),a("d81d"),{name:"MultiTab",data:function(){return{fullPathList:[],pages:[],activeKey:"",newTabIndex:0}},created:function(){var e=this;i.$on("open",(function(t){if(!t)throw new Error("multi-tab: open tab ".concat(t," err"));e.activeKey=t})).$on("close",(function(t){t?e.closeThat(t):e.closeThat(e.activeKey)})).$on("rename",(function(t){var a=t.key,n=t.name;try{var r=e.pages.find((function(e){return e.path===a}));r.meta.customTitle=n,e.$forceUpdate()}catch(s){}})),this.pages.push(this.$route),this.fullPathList.push(this.$route.fullPath),this.selectedLastPath()},methods:{onEdit:function(e,t){this[t](e)},remove:function(e){this.pages=this.pages.filter((function(t){return t.fullPath!==e})),this.fullPathList=this.fullPathList.filter((function(t){return t!==e})),this.fullPathList.includes(this.activeKey)||this.selectedLastPath()},selectedLastPath:function(){this.activeKey=this.fullPathList[this.fullPathList.length-1]},closeThat:function(e){this.fullPathList.length>1?this.remove(e):this.$message.info("这是最后一个标签了, 无法被关闭")},closeLeft:function(e){var t=this,a=this.fullPathList.indexOf(e);a>0?this.fullPathList.forEach((function(e,n){na&&t.remove(e)})):this.$message.info("右侧没有标签")},closeAll:function(e){var t=this,a=this.fullPathList.indexOf(e);this.fullPathList.forEach((function(e,n){n!==a&&t.remove(e)}))},closeMenuClick:function(e,t){this[e](t)},renderTabPaneMenu:function(e){var t=this,a=this.$createElement;return a("a-menu",{on:Object(c["a"])({},{click:function(a){var n=a.key;a.item,a.domEvent;t.closeMenuClick(n,e)}})},[a("a-menu-item",{key:"closeThat"},["关闭当前标签"]),a("a-menu-item",{key:"closeRight"},["关闭右侧"]),a("a-menu-item",{key:"closeLeft"},["关闭左侧"]),a("a-menu-item",{key:"closeAll"},["关闭全部"])])},renderTabPane:function(e,t){var a=this.$createElement,n=this.renderTabPaneMenu(t);return a("a-dropdown",{attrs:{overlay:n,trigger:["contextmenu"]}},[a("span",{style:{userSelect:"none"}},[e])])}},watch:{$route:function(e){this.activeKey=e.fullPath,this.fullPathList.indexOf(e.fullPath)<0&&(this.fullPathList.push(e.fullPath),this.pages.push(e))},activeKey:function(e){this.$router.push({path:e})}},render:function(){var e=this,t=arguments[0],a=this.onEdit,n=this.$data.pages,r=n.map((function(a){return t("a-tab-pane",{style:{height:0},attrs:{tab:e.renderTabPane(a.meta.customTitle||a.meta.title,a.fullPath),closable:n.length>1},key:a.fullPath})}));return t("div",{class:"ant-pro-multi-tab"},[t("div",{class:"ant-pro-multi-tab-wrapper"},[t("a-tabs",{attrs:{hideAdd:!0,type:"editable-card",tabBarStyle:{background:"#FFF",margin:0,paddingLeft:"16px",paddingTop:"1px"}},on:Object(c["a"])({},{edit:a}),model:{value:e.activeKey,callback:function(t){e.activeKey=t}}},[r])])])}}),u=l,d=a("2877"),f=Object(d["a"])(u,n,r,!1,null,null,null),m=f.exports,h=(a("3489"),{open:function(e){i.$emit("open",e)},rename:function(e,t){i.$emit("rename",{key:e,name:t})},closeCurrentPage:function(){this.close()},close:function(e){i.$emit("close",e)}});m.install=function(e){e.prototype.$multiTab||(h.instance=i,e.prototype.$multiTab=h,e.component("multi-tab",m))};t["a"]=m},3489:function(e,t,a){},"3b74":function(e,t,a){"use strict";a("91a5")},4360:function(e,t,a){"use strict";var n,r=a("8bbf"),s=a.n(r),o=a("5880"),i=a.n(o),c=a("ade3"),l=(a("d3b7"),a("8ded")),u=a.n(l),d=a("9fb0"),f=a("bf0f"),m={state:{sideCollapsed:!1,isMobile:!1,theme:"dark",layout:"",contentWidth:"",fixedHeader:!1,fixedSidebar:!1,autoHideHeader:!1,color:"",weak:!1,multiTab:!0,lang:"en-US",_antLocale:{}},mutations:(n={},Object(c["a"])(n,d["d"],(function(e,t){e.sideCollapsed=t,u.a.set(d["d"],t)})),Object(c["a"])(n,d["k"],(function(e,t){e.isMobile=t})),Object(c["a"])(n,d["m"],(function(e,t){e.theme=t,u.a.set(d["m"],t)})),Object(c["a"])(n,d["j"],(function(e,t){e.layout=t,u.a.set(d["j"],t)})),Object(c["a"])(n,d["g"],(function(e,t){e.fixedHeader=t,u.a.set(d["g"],t)})),Object(c["a"])(n,d["h"],(function(e,t){e.fixedSidebar=t,u.a.set(d["h"],t)})),Object(c["a"])(n,d["f"],(function(e,t){e.contentWidth=t,u.a.set(d["f"],t)})),Object(c["a"])(n,d["i"],(function(e,t){e.autoHideHeader=t,u.a.set(d["i"],t)})),Object(c["a"])(n,d["e"],(function(e,t){e.color=t,u.a.set(d["e"],t)})),Object(c["a"])(n,d["n"],(function(e,t){e.weak=t,u.a.set(d["n"],t)})),Object(c["a"])(n,d["b"],(function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e.lang=t,e._antLocale=a,u.a.set(d["b"],t)})),Object(c["a"])(n,d["l"],(function(e,t){u.a.set(d["l"],t),e.multiTab=t})),n),actions:{setLang:function(e,t){var a=e.commit;return new Promise((function(e,n){a(d["b"],t),Object(f["c"])(t).then((function(){e()})).catch((function(e){n(e)}))}))}}},h=m,p=(a("b0c0"),a("d81d"),a("b775")),g={Login:"/auth/login",Logout:"/auth/logout",ForgePassword:"/auth/forge-password",Register:"/auth/register",twoStepCode:"/auth/2step-code",SendSms:"/account/sms",SendSmsErr:"/account/sms_err",UserInfo:"/user/info",UserMenu:"/user/nav"};function b(e){return Object(p["b"])({url:g.Login,method:"post",data:e})}function y(){return Object(p["b"])({url:g.UserInfo,method:"get",headers:{"Content-Type":"application/json;charset=UTF-8"}})}var v=a("ca00"),C={state:{token:"",name:"",welcome:"",avatar:"",roles:[],info:{}},mutations:{SET_TOKEN:function(e,t){e.token=t},SET_NAME:function(e,t){var a=t.name,n=t.welcome;e.name=a,e.welcome=n},SET_AVATAR:function(e,t){e.avatar=t},SET_ROLES:function(e,t){e.roles=t},SET_INFO:function(e,t){e.info=t}},actions:{Login:function(e,t){var a=e.commit;return new Promise((function(e,n){b(t).then((function(t){var n=t.data;u.a.set(d["a"],n.token,36e5),a("SET_TOKEN",n.token),e()})).catch((function(e){n(e)}))}))},GetInfo:function(e){var t=e.commit;return new Promise((function(e,a){y().then((function(n){var r=n.data;if(r["role"]={permissions:Object(v["a"])(r.role)},r.role&&r.role.permissions.length>0){var s=r.role;s.permissions=r.role.permissions,s.permissions.map((function(e){if(null!=e.actionEntitySet&&e.actionEntitySet.length>0){var t=e.actionEntitySet.map((function(e){return e.action}));e.actionList=t}})),s.permissionList=s.permissions.map((function(e){return e.permissionId})),t("SET_ROLES",r.role),t("SET_INFO",r)}else a(new Error("getInfo: roles must be a non-null array !"));t("SET_NAME",{name:r.username,welcome:Object(v["c"])()}),e(n)})).catch((function(e){a(e)}))}))},Logout:function(e){var t=e.commit;e.state;return new Promise((function(e){t("SET_TOKEN",""),t("SET_ROLES",[]),u.a.remove(d["a"]),e()}))}}},k=C,w=(a("caad"),a("2532"),a("4de4"),a("99af"),a("d73b")),N=a("cd3f"),S=a.n(N);function z(e,t){if(t.meta&&t.meta.permission){for(var a=!1,n=0,r=e.length;ndiv[type=loading]");a||(a=document.createElement("div"),a.setAttribute("type","loading"),a.setAttribute("class","ant-loading-wrapper"),document.body.appendChild(a));var n=Object.assign({visible:!1,size:"large",tip:"Loading..."},t),r=new e({data:function(){return Object(ze["a"])({},n)},render:function(){var e=arguments[0],t=this.tip,a={};return this.tip&&(a.tip=t),this.visible?e(Pe,{props:Object(ze["a"])({},a)}):null}}).$mount(a);function s(e){var t=Object(ze["a"])(Object(ze["a"])({},n),e),a=t.visible,s=t.size,o=t.tip;r.$set(r,"visible",a),o&&r.$set(r,"tip",o),s&&r.$set(r,"size",s)}return{instance:r,update:s}}},xe={show:function(e){this.instance.update(Object(ze["a"])(Object(ze["a"])({},e),{},{visible:!0}))},hide:function(){this.instance.update({visible:!1})}},Oe=function(e,t){e.prototype.$loading||(xe.instance=Le.newInstance(e,t),e.prototype.$loading=xe)},Te={version:je,install:Oe},Me=a("3835"),_e={add:{key:"add",label:"新增"},delete:{key:"delete",label:"删除"},edit:{key:"edit",label:"修改"},query:{key:"query",label:"查询"},get:{key:"get",label:"详情"},enable:{key:"enable",label:"启用"},disable:{key:"disable",label:"禁用"},import:{key:"import",label:"导入"},export:{key:"export",label:"导出"}};function Ae(e){Ae.installed||(!e.prototype.$auth&&Object.defineProperties(e.prototype,{$auth:{get:function(){var e=this;return function(t){var a=t.split("."),n=Object(Me["a"])(a,2),r=n[0],s=n[1],o=e.$store.getters.roles.permissions,i=o.find((function(e){return e.permissionId===r})).actionList;return!i||i.findIndex((function(e){return e===s}))>-1}}}}),!e.prototype.$enum&&Object.defineProperties(e.prototype,{$enum:{get:function(){return function(e){var t=_e;return e&&e.split(".").forEach((function(e){t=t&&t[e]||null})),t}}}}))}var Fe=Ae;r.a.directive("action",{inserted:function(e,t,a){var n=t.arg,r=k["a"].getters.roles,s=a.context.$route.meta.permission,o=s instanceof String&&[s]||s;r.permissions.forEach((function(t){o.includes(t.permissionId)&&t.actionList&&!t.actionList.includes(n)&&(e.parentNode&&e.parentNode.removeChild(e)||(e.style.display="none"))}))}});r.a.use(ve["a"]),r.a.use(ye["a"]),r.a.use(be["a"]),r.a.use(ge["a"]),r.a.use(pe["a"]),r.a.use(he["a"]),r.a.use(me["a"]),r.a.use(fe["a"]),r.a.use(de["b"]),r.a.use(ue["a"]),r.a.use(le["a"]),r.a.use(ce["a"]),r.a.use(ie["a"]),r.a.use(oe["a"]),r.a.use(se["a"]),r.a.use(re["a"]),r.a.use(ne["a"]),r.a.use(ae["a"]),r.a.use(te["a"]),r.a.use(ee["a"]),r.a.use(X["b"]),r.a.use(J["a"]),r.a.use(Z["a"]),r.a.use(Q["a"]),r.a.use(Y["a"]),r.a.use(K["a"]),r.a.use(H["a"]),r.a.use(G["a"]),r.a.use(W["a"]),r.a.use(V["a"]),r.a.use(q["a"]),r.a.use(B["a"]),r.a.use(D["a"]),r.a.use(I["a"]),r.a.use(R["a"]),r.a.use(U["a"]),r.a.use($["a"]),r.a.use(E["b"]),r.a.use(F["a"]),r.a.use(A["a"]),r.a.use(_["a"]),r.a.use(M["a"]),r.a.prototype.$confirm=oe["a"].confirm,r.a.prototype.$message=T["a"],r.a.prototype.$notification=O["a"],r.a.prototype.$info=oe["a"].info,r.a.prototype.$success=oe["a"].success,r.a.prototype.$error=oe["a"].error,r.a.prototype.$warning=oe["a"].warning,r.a.use(Ce["a"]),r.a.use(Ne["a"]),r.a.use(Se["a"]),r.a.use(Te),r.a.use(Fe),r.a.use(we.a);var Ee=a("323e"),$e=a.n(Ee);a("fddb");$e.a.configure({showSpinner:!1});var Ue=["login","register","registerResult"],Re="/user/login",Ie="/dashboard/workplace";C.beforeEach((function(e,t,a){$e.a.start(),e.meta&&"undefined"!==typeof e.meta.title&&c("".concat(Object(u["b"])(e.meta.title)," - ").concat(l)),P.a.get(j["a"])?e.path===Re?(a({path:Ie}),$e.a.done()):0===k["a"].getters.roles.length?k["a"].dispatch("GetInfo").then((function(n){var r=n.data&&n.data.role;k["a"].dispatch("GenerateRoutes",{roles:r}).then((function(){k["a"].getters.addRouters.forEach((function(e){C.addRoute(e)}));var n=decodeURIComponent(t.query.redirect||e.path);e.path===n?a(Object(ze["a"])(Object(ze["a"])({},e),{},{replace:!0})):a({path:n})}))})).catch((function(){k["a"].dispatch("Logout").then((function(){a({path:Re,query:{redirect:e.fullPath}})}))})):a():Ue.includes(e.name)?a():(a({path:Re,query:{redirect:e.fullPath}}),$e.a.done())})),C.afterEach((function(){$e.a.done()}));var De=a("c1df"),Be=a.n(De);a("5c3a");Be.a.locale("zh-cn"),r.a.filter("NumberFormat",(function(e){if(!e)return"0";var t=e.toString().replace(/(\d)(?=(?:\d{3})+$)/g,"$1,");return t})),r.a.filter("dayjs",(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"YYYY-MM-DD HH:mm:ss";return Be()(e).format(t)})),r.a.filter("moment",(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"YYYY-MM-DD HH:mm:ss";return Be()(e).format(t)}));a("861f");r.a.config.productionTip=!1,r.a.use(w["a"]),r.a.component("pro-layout",N["d"]),r.a.component("page-container",N["b"]),r.a.component("page-header-wrapper",N["b"]),window.umi_plugin_ant_themeVar=S.theme,new r.a({router:C,store:k["a"],i18n:u["a"],created:x,render:function(e){return e(p)}}).$mount("#app")},5880:function(e,t){e.exports=Vuex},6389:function(e,t){e.exports=VueRouter},"694f":function(e,t,a){},"69c3":function(e,t,a){"use strict";a.r(t),t["default"]={"result.fail.error.title":"Submission Failed","result.fail.error.description":"Please check and modify the following information before resubmitting.","result.fail.error.hint-title":"The content you submitted has the following error:","result.fail.error.hint-text1":"Your account has been frozen","result.fail.error.hint-btn1":"Thaw immediately","result.fail.error.hint-text2":"Your account is not yet eligible to apply","result.fail.error.hint-btn2":"Upgrade immediately","result.fail.error.btn-text":"Return to modify"}},"6e2f":function(e,t,a){"use strict";a.r(t),t["default"]={submit:"Submit",save:"Save","submit.ok":"Submit successfully","save.ok":"Saved successfully"}},"743d":function(e,t,a){"use strict";a.r(t);var n=a("5530"),r=a("8b45"),s=a("0ff2"),o=a.n(s),i=a("6e2f"),c=a("771d"),l=a("5030"),u=a("928e"),d=a("dea1"),f=a("ffb6"),m=a("78a1"),h=a("29fd"),p={antLocale:r["a"],momentName:"eu",momentLocale:o.a};t["default"]=Object(n["a"])(Object(n["a"])(Object(n["a"])(Object(n["a"])(Object(n["a"])(Object(n["a"])(Object(n["a"])(Object(n["a"])(Object(n["a"])({message:"-","layouts.usermenu.dialog.title":"Message","layouts.usermenu.dialog.content":"Are you sure you would like to logout?","layouts.userLayout.title":"Easy to use distributed exception retry service platform"},p),i["default"]),c["default"]),l["default"]),u["default"]),d["default"]),f["default"]),m["default"]),h["default"])},"771d":function(e,t,a){"use strict";a.r(t),t["default"]={"menu.welcome":"Welcome","menu.home":"Home","menu.dashboard":"Dashboard","menu.dashboard.analysis":"Analysis","menu.dashboard.monitor":"Monitor","menu.dashboard.workplace":"Workplace","menu.form":"Form","menu.form.basic-form":"Basic Form","menu.form.step-form":"Step Form","menu.form.step-form.info":"Step Form(write transfer information)","menu.form.step-form.confirm":"Step Form(confirm transfer information)","menu.form.step-form.result":"Step Form(finished)","menu.form.advanced-form":"Advanced Form","menu.list":"List","menu.list.table-list":"Search Table","menu.list.basic-list":"Basic List","menu.list.card-list":"Card List","menu.list.search-list":"Search List","menu.list.search-list.articles":"Search List(articles)","menu.list.search-list.projects":"Search List(projects)","menu.list.search-list.applications":"Search List(applications)","menu.profile":"Profile","menu.profile.basic":"Basic Profile","menu.profile.advanced":"Advanced Profile","menu.result":"Result","menu.result.success":"Success","menu.result.fail":"Fail","menu.exception":"Exception","menu.exception.not-permission":"403","menu.exception.not-find":"404","menu.exception.server-error":"500","menu.exception.trigger":"Trigger","menu.account":"Account","menu.account.center":"Account Center","menu.account.settings":"Account Settings","menu.account.trigger":"Trigger Error","menu.account.logout":"Logout"}},"78a1":function(e,t,a){"use strict";a.r(t);var n=a("5530"),r=a("44e5"),s=a("69c3");t["default"]=Object(n["a"])(Object(n["a"])({},r["default"]),s["default"])},"861f":function(e,t,a){},"8bbf":function(e,t){e.exports=Vue},"8eeb4":function(e,t,a){var n=a("b2b7");e.exports={__esModule:!0,default:n.svgComponent({tag:"svg",attrsMap:{viewBox:"0 0 128 128",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},children:[{tag:"title",children:[{text:"Vue"}]},{tag:"desc",children:[{text:"Created with Sketch."}]},{tag:"defs",children:[{tag:"linearGradient",attrsMap:{x1:"69.644116%",y1:"0%",x2:"69.644116%",y2:"100%",id:"linearGradient-1"},children:[{tag:"stop",attrsMap:{"stop-color":"#29CDFF",offset:"0%"}},{tag:"stop",attrsMap:{"stop-color":"#148EFF",offset:"37.8600687%"}},{tag:"stop",attrsMap:{"stop-color":"#0A60FF",offset:"100%"}}]},{tag:"linearGradient",attrsMap:{x1:"-19.8191553%",y1:"-36.7931464%",x2:"138.57919%",y2:"157.637507%",id:"linearGradient-2"},children:[{tag:"stop",attrsMap:{"stop-color":"#29CDFF",offset:"0%"}},{tag:"stop",attrsMap:{"stop-color":"#0F78FF",offset:"100%"}}]},{tag:"linearGradient",attrsMap:{x1:"68.1279872%",y1:"-35.6905737%",x2:"30.4400914%",y2:"114.942679%",id:"linearGradient-3"},children:[{tag:"stop",attrsMap:{"stop-color":"#FA8E7D",offset:"0%"}},{tag:"stop",attrsMap:{"stop-color":"#F74A5C",offset:"51.2635191%"}},{tag:"stop",attrsMap:{"stop-color":"#F51D2C",offset:"100%"}}]}]},{tag:"g",attrsMap:{id:"Vue",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},children:[{tag:"g",attrsMap:{id:"Group",transform:"translate(19.000000, 9.000000)"},children:[{tag:"path",attrsMap:{d:"M89.96,90.48 C78.58,93.48 68.33,83.36 67.62,82.48 L46.6604487,62.2292258 C45.5023849,61.1103236 44.8426845,59.5728835 44.8296987,57.9626396 L44.5035564,17.5209948 C44.4948861,16.4458744 44.0537714,15.4195095 43.2796864,14.6733517 L29.6459999,1.53153737 C28.055475,-0.00160504005 25.5232423,0.0449126588 23.9900999,1.63543756 C23.2715121,2.38092066 22.87,3.37600834 22.87,4.41143746 L22.87,64.3864751 C22.87,67.0807891 23.9572233,69.6611067 25.885409,71.5429748 L63.6004615,108.352061 C65.9466323,110.641873 69.6963584,110.624605 72.0213403,108.313281",id:"Path-Copy",fill:"url(#linearGradient-1)","fill-rule":"nonzero",transform:"translate(56.415000, 54.831157) scale(-1, 1) translate(-56.415000, -54.831157) "}},{tag:"path",attrsMap:{d:"M68,90.1163122 C56.62,93.1163122 45.46,83.36 44.75,82.48 L23.7904487,62.2292258 C22.6323849,61.1103236 21.9726845,59.5728835 21.9596987,57.9626396 L21.6335564,17.5209948 C21.6248861,16.4458744 21.1837714,15.4195095 20.4096864,14.6733517 L6.7759999,1.53153737 C5.185475,-0.00160504005 2.65324232,0.0449126588 1.12009991,1.63543756 C0.401512125,2.38092066 3.90211878e-13,3.37600834 3.90798505e-13,4.41143746 L3.94351218e-13,64.3864751 C3.94681177e-13,67.0807891 1.08722326,69.6611067 3.01540903,71.5429748 L40.7807092,108.401101 C43.1069304,110.671444 46.8180151,110.676525 49.1504445,108.412561",id:"Path",fill:"url(#linearGradient-2)","fill-rule":"nonzero"}},{tag:"path",attrsMap:{d:"M43.2983488,19.0991931 L27.5566079,3.88246244 C26.7624281,3.11476967 26.7409561,1.84862177 27.5086488,1.05444194 C27.8854826,0.664606611 28.4044438,0.444472651 28.9466386,0.444472651 L60.3925021,0.444472651 C61.4970716,0.444472651 62.3925021,1.33990315 62.3925021,2.44447265 C62.3925021,2.9858375 62.1730396,3.50407742 61.7842512,3.88079942 L46.0801285,19.0975301 C45.3051579,19.8484488 44.0742167,19.8491847 43.2983488,19.0991931 Z",id:"Path",fill:"url(#linearGradient-3)"}}]}]}]})}},"91a5":function(e,t,a){},"928e":function(e,t,a){"use strict";a.r(t),t["default"]={"user.login.userName":"userName","user.login.password":"password","user.login.username.placeholder":"Please enter the username","user.login.password.placeholder":"Please enter the password","user.login.message-invalid-credentials":"Invalid username or password","user.login.message-invalid-verification-code":"Invalid verification code","user.login.tab-login-credentials":"Credentials","user.login.tab-login-mobile":"Mobile number","user.login.mobile.placeholder":"Mobile number","user.login.mobile.verification-code.placeholder":"Verification code","user.login.remember-me":"Remember me","user.login.forgot-password":"Forgot your password?","user.login.sign-in-with":"Sign in with","user.login.signup":"Sign up","user.login.login":"Login","user.register.register":"Register","user.register.email.placeholder":"Email","user.register.password.placeholder":"Password ","user.register.password.popover-message":"Please enter at least 6 characters. Please do not use passwords that are easy to guess. ","user.register.confirm-password.placeholder":"Confirm password","user.register.get-verification-code":"Get code","user.register.sign-in":"Already have an account?","user.register-result.msg":"Account:registered at {email}","user.register-result.activation-email":"The activation email has been sent to your email address and is valid for 24 hours. Please log in to the email in time and click on the link in the email to activate the account.","user.register-result.back-home":"Back to home","user.register-result.view-mailbox":"View mailbox","user.email.required":"Please enter your email!","user.email.wrong-format":"The email address is in the wrong format!","user.userName.required":"Please enter account name or email address","user.password.required":"Please enter your password!","user.password.twice.msg":"The passwords entered twice do not match!","user.password.strength.msg":"The password is not strong enough","user.password.strength.strong":"Strength: strong","user.password.strength.medium":"Strength: medium","user.password.strength.low":"Strength: low","user.password.strength.short":"Strength: too short","user.confirm-password.required":"Please confirm your password!","user.phone-number.required":"Please enter your phone number!","user.phone-number.wrong-format":"Please enter a valid phone number","user.verification-code.required":"Please enter the verification code!"}},"9fb0":function(e,t,a){"use strict";a.d(t,"a",(function(){return n})),a.d(t,"d",(function(){return r})),a.d(t,"k",(function(){return s})),a.d(t,"m",(function(){return o})),a.d(t,"j",(function(){return i})),a.d(t,"g",(function(){return c})),a.d(t,"h",(function(){return l})),a.d(t,"f",(function(){return u})),a.d(t,"i",(function(){return d})),a.d(t,"e",(function(){return f})),a.d(t,"n",(function(){return m})),a.d(t,"l",(function(){return h})),a.d(t,"b",(function(){return p})),a.d(t,"c",(function(){return g}));var n="Access-Token",r="sidebar_type",s="is_mobile",o="nav_theme",i="layout",c="fixed_header",l="fixed_sidebar",u="content_width",d="auto_hide_header",f="color",m="weak",h="multi_tab",p="app_language",g={Fluid:"Fluid",Fixed:"Fixed"}},b775:function(e,t,a){"use strict";a.d(t,"a",(function(){return m}));a("d3b7");var n=a("cebe"),r=a.n(n),s=a("4360"),o=a("8ded"),i=a.n(o),c=a("56cd"),l={vm:{},install:function(e,t){this.installed||(this.installed=!0,t&&(e.axios=t,Object.defineProperties(e.prototype,{axios:{get:function(){return t}},$http:{get:function(){return t}}})))}},u=a("9fb0"),d=r.a.create({baseURL:"",timeout:6e3}),f=function(e){if(e.response){var t=e.response.data,a=i.a.get(u["a"]);403===e.response.status&&c["a"].error({message:"Forbidden",description:t.message}),401!==e.response.status||t.result&&t.result.isLogin||(c["a"].error({message:"Unauthorized",description:"Authorization verification failed"}),a&&s["a"].dispatch("Logout").then((function(){setTimeout((function(){window.location.reload()}),1500)})))}return Promise.reject(e)};d.interceptors.request.use((function(e){var t=i.a.get(u["a"]);return t&&(e.headers["EASY-RETRY-AUTH"]=t),e}),f),d.interceptors.response.use((function(e){var t=e.data,a=t.status,n=t.message;return 0===a?(c["a"].error({message:n||"Error",duration:3}),Promise.reject(new Error(n||"Error"))):e.data}),f);var m={vm:{},install:function(e){e.use(l,d)}};t["b"]=d},b781:function(e,t,a){"use strict";a.r(t),t["default"]={"dashboard.analysis.test":"Gongzhuan No.{no} shop","dashboard.analysis.introduce":"Introduce","dashboard.analysis.total-sales":"Total Sales","dashboard.analysis.day-sales":"Daily Sales","dashboard.analysis.visits":"Visits","dashboard.analysis.visits-trend":"Visits Trend","dashboard.analysis.visits-ranking":"Visits Ranking","dashboard.analysis.day-visits":"Daily Visits","dashboard.analysis.week":"WoW Change","dashboard.analysis.day":"DoD Change","dashboard.analysis.payments":"Payments","dashboard.analysis.conversion-rate":"Conversion Rate","dashboard.analysis.operational-effect":"Operational Effect","dashboard.analysis.sales-trend":"Stores Sales Trend","dashboard.analysis.sales-ranking":"Sales Ranking","dashboard.analysis.all-year":"All Year","dashboard.analysis.all-month":"All Month","dashboard.analysis.all-week":"All Week","dashboard.analysis.all-day":"All day","dashboard.analysis.search-users":"Search Users","dashboard.analysis.per-capita-search":"Per Capita Search","dashboard.analysis.online-top-search":"Online Top Search","dashboard.analysis.the-proportion-of-sales":"The Proportion Of Sales","dashboard.analysis.dropdown-option-one":"Operation one","dashboard.analysis.dropdown-option-two":"Operation two","dashboard.analysis.channel.all":"ALL","dashboard.analysis.channel.online":"Online","dashboard.analysis.channel.stores":"Stores","dashboard.analysis.sales":"Sales","dashboard.analysis.traffic":"Traffic","dashboard.analysis.table.rank":"Rank","dashboard.analysis.table.search-keyword":"Keyword","dashboard.analysis.table.users":"Users","dashboard.analysis.table.weekly-range":"Weekly Range"}},bf0f:function(e,t,a){"use strict";a.d(t,"c",(function(){return b})),a.d(t,"b",(function(){return y}));var n=a("5530"),r=(a("d3b7"),a("caad"),a("3ca3"),a("ddb0"),a("8bbf")),s=a.n(r),o=a("a925"),i=a("8ded"),c=a.n(i),l=a("c1df"),u=a.n(l),d=a("743d");s.a.use(o["a"]);var f="en-US",m={"en-US":Object(n["a"])({},d["default"])},h=new o["a"]({silentTranslationWarn:!0,locale:f,fallbackLocale:f,messages:m}),p=[f];function g(e){return h.locale=e,document.querySelector("html").setAttribute("lang",e),e}function b(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f;return new Promise((function(t){return c.a.set("lang",e),h.locale!==e?p.includes(e)?t(g(e)):a("4aa4")("./".concat(e)).then((function(t){var a=t.default;return h.setLocaleMessage(e,a),p.push(e),u.a.updateLocale(a.momentName,a.momentLocale),g(e)})):t(e)}))}function y(e){return h.t("".concat(e))}t["a"]=h},ca00:function(e,t,a){"use strict";a.d(t,"b",(function(){return n})),a.d(t,"c",(function(){return r})),a.d(t,"a",(function(){return s}));a("ac1f");function n(){var e=new Date,t=e.getHours();return t<9?"早上好":t<=11?"上午好":t<=13?"中午好":t<20?"下午好":"晚上好"}function r(){var e=["休息一会儿吧","准备吃什么呢?","要不要打一把 DOTA","我猜你可能累了"],t=Math.floor(Math.random()*e.length);return e[t]}function s(e){var t={1:[{roleId:1,permissionId:"group",permissionName:"组配置",actionEntitySet:[]},{roleId:1,permissionId:"dashboard",permissionName:"看板"},{roleId:1,permissionId:"retryTask",permissionName:"任务管理"},{roleId:1,permissionId:"retryDeadLetter",permissionName:"死信队列管理"},{roleId:1,permissionId:"retryLog",permissionName:"重试日志管理"},{roleId:1,permissionId:"basicConfig",permissionName:"基础信息配置"}],2:[{roleId:2,permissionId:"group",permissionName:"组配置",actionEntitySet:[{action:"add",describe:"新增",defaultCheck:!1}]},{roleId:2,permissionId:"user",permissionName:"用户"},{roleId:2,permissionId:"userForm",permissionName:"新增或更新用户"},{roleId:2,permissionId:"dashboard",permissionName:"看板"},{roleId:2,permissionId:"retryTask",permissionName:"任务管理"},{roleId:2,permissionId:"retryDeadLetter",permissionName:"死信队列管理"},{roleId:2,permissionId:"retryLog",permissionName:"重试日志管理"},{roleId:2,permissionId:"basicConfig",permissionName:"基础信息配置"}]};return t[e]}},cebe:function(e,t){e.exports=axios},cf3a:function(e,t,a){"use strict";a("694f")},d73b:function(e,t,a){"use strict";a.d(t,"a",(function(){return Pe})),a.d(t,"b",(function(){return je}));a("d3b7"),a("3ca3"),a("ddb0");var n,r,s,o,i=function(){var e=this,t=e._self._c;return t("div",{class:["user-layout-wrapper",e.isMobile&&"mobile"],attrs:{id:"userLayout"}},[t("div",{staticClass:"container"},[t("div",{staticClass:"user-layout-lang"},[t("select-lang",{staticClass:"select-lang-trigger"})],1),t("div",{staticClass:"user-layout-content"},[t("div",{staticClass:"top"},[e._m(0),t("div",{staticClass:"desc"},[e._v(" "+e._s(e.$t("layouts.userLayout.title"))+" ")])]),t("router-view"),e._m(1)],1)])])},c=[function(){var e=this,t=e._self._c;return t("div",{staticClass:"header"},[t("a",{attrs:{href:"/"}},[t("span",{staticClass:"title"},[e._v("Easy-Retry")])])])},function(){var e=this,t=e._self._c;return t("div",{staticClass:"footer"},[t("div",{staticClass:"links"},[t("a",{attrs:{href:"_self"}},[e._v("帮助")]),t("a",{attrs:{href:"_self"}},[e._v("隐私")]),t("a",{attrs:{href:"_self"}},[e._v("条款")])]),t("div",{staticClass:"copyright"},[e._v(" Copyright © 2018 vueComponent ")])])}],l=a("5530"),u=a("5880"),d={computed:Object(l["a"])({},Object(u["mapState"])({isMobile:function(e){return e.app.isMobile}}))},f=(a("9d5c"),a("a600")),m=(a("8fb1"),a("0c63")),h=(a("fbd8"),a("55f1")),p=(a("d81d"),a("2a47"),a("bf0f")),g={computed:Object(l["a"])({},Object(u["mapState"])({currentLang:function(e){return e.app.lang}})),methods:{setLang:function(e){this.$store.dispatch("setLang",e)}}},b=g,y=["zh-CN","zh-TW","en-US","pt-BR"],v={"zh-CN":"简体中文","zh-TW":"繁体中文","en-US":"English","pt-BR":"Português"},C={"zh-CN":"🇨🇳","zh-TW":"🇭🇰","en-US":"🇺🇸","pt-BR":"🇧🇷"},k={props:{prefixCls:{type:String,default:"ant-pro-drop-down"}},name:"SelectLang",mixins:[b],render:function(){var e=this,t=arguments[0],a=this.prefixCls,n=function(t){var a=t.key;e.setLang(a)},r=t(h["a"],{class:["menu","ant-pro-header-menu"],attrs:{selectedKeys:[this.currentLang]},on:{click:n}},[y.map((function(e){return t(h["a"].Item,{key:e},[t("span",{attrs:{role:"img","aria-label":v[e]}},[C[e]])," ",v[e]])}))]);return t(f["a"],{attrs:{overlay:r,placement:"bottomRight"}},[t("span",{class:a},[t(m["a"],{attrs:{type:"global",title:Object(p["b"])("navBar.lang")}})])])}},w=k,N={name:"UserLayout",components:{SelectLang:w},mixins:[d],mounted:function(){document.body.classList.add("userLayout")},beforeDestroy:function(){document.body.classList.remove("userLayout")}},S=N,z=(a("cf3a"),a("2877")),P=Object(z["a"])(S,i,c,!1,null,"6baceae0",null),j=P.exports,L=function(){var e=this,t=e._self._c;return t("div",[t("router-view")],1)},x=[],O={name:"BlankLayout"},T=O,M=Object(z["a"])(T,L,x,!1,null,"7f25f9eb",null),_=(M.exports,function(){var e=this,t=e._self._c;return t("pro-layout",e._b({attrs:{menus:e.menus,collapsed:e.collapsed,mediaQuery:e.query,isMobile:e.isMobile,handleMediaQuery:e.handleMediaQuery,handleCollapse:e.handleCollapse,i18nRender:e.i18nRender},scopedSlots:e._u([{key:"menuHeaderRender",fn:function(){return[t("div",[t("h1",[e._v(e._s(e.title))])])]},proxy:!0},{key:"headerContentRender",fn:function(){return[t("div",[t("a-tooltip",{attrs:{title:"刷新页面"}},[t("a-icon",{staticStyle:{"font-size":"18px",cursor:"pointer"},attrs:{type:"reload"},on:{click:function(){e.$router.go(0)}}})],1)],1)]},proxy:!0},{key:"rightContentRender",fn:function(){return[t("right-content",{attrs:{"top-menu":"topmenu"===e.settings.layout,"is-mobile":e.isMobile,theme:e.settings.theme}})]},proxy:!0},{key:"footerRender",fn:function(){return[t("global-footer")]},proxy:!0}])},"pro-layout",e.settings,!1),[e.isProPreviewSite&&!e.collapsed?t("ads"):e._e(),e.isDev?t("setting-drawer",{attrs:{settings:e.settings},on:{change:e.handleSettingChange}},[t("div",{staticStyle:{margin:"12px 0"}},[e._v(" This is SettingDrawer custom footer content. ")])]):e._e(),t("router-view")],1)}),A=[],F=(a("7db0"),a("c0d2")),E=a("9fb0"),$=a("e819"),U=function(){var e=this,t=e._self._c;return t("div",{class:e.wrpCls},[t("avatar-dropdown",{class:e.prefixCls,attrs:{menu:e.showMenu,"current-user":e.currentUser}}),t("select-lang",{class:e.prefixCls})],1)},R=[],I=a("ade3"),D=(a("b0c0"),function(){var e=this,t=e._self._c;return e.currentUser&&e.currentUser.name?t("a-dropdown",{attrs:{placement:"bottomRight"},scopedSlots:e._u([{key:"overlay",fn:function(){return[t("a-menu",{staticClass:"ant-pro-drop-down menu",attrs:{"selected-keys":[]}},[t("a-menu-item",{key:"logout",on:{click:e.handleLogout}},[t("a-icon",{attrs:{type:"logout"}}),e._v(" "+e._s(e.$t("menu.account.logout"))+" ")],1)],1)]},proxy:!0}],null,!1,3699420034)},[t("span",{staticClass:"ant-pro-account-avatar"},[t("a-avatar",{staticClass:"antd-pro-global-header-index-avatar",attrs:{size:"small",src:"https://gw.alipayobjects.com/zos/antfincdn/XAosXuNZyF/BiazfanxmamNRoxxVxka.png"}}),t("span",[e._v(e._s(e.currentUser.name))])],1)]):t("span",[t("a-spin",{style:{marginLeft:8,marginRight:8},attrs:{size:"small"}})],1)}),B=[],q=(a("cd17"),a("ed3b")),V={name:"AvatarDropdown",props:{currentUser:{type:Object,default:function(){return null}},menu:{type:Boolean,default:!0}},methods:{handleToCenter:function(){this.$router.push({path:"/account/center"})},handleToSettings:function(){this.$router.push({path:"/account/settings"})},handleLogout:function(e){var t=this;q["a"].confirm({title:this.$t("layouts.usermenu.dialog.title"),content:this.$t("layouts.usermenu.dialog.content"),onOk:function(){return t.$store.dispatch("Logout").then((function(){t.$router.push({name:"login"})}))},onCancel:function(){}})}}},W=V,G=(a("f4ba"),Object(z["a"])(W,D,B,!1,null,"fd4de960",null)),H=G.exports,K={name:"RightContent",components:{AvatarDropdown:H,SelectLang:w},props:{prefixCls:{type:String,default:"ant-pro-global-header-index-action"},isMobile:{type:Boolean,default:function(){return!1}},topMenu:{type:Boolean,required:!0},theme:{type:String,required:!0}},data:function(){return{showMenu:!0,currentUser:{}}},computed:{wrpCls:function(){return Object(I["a"])({"ant-pro-global-header-index-right":!0},"ant-pro-global-header-index-".concat(this.isMobile||!this.topMenu?"light":this.theme),!0)}},mounted:function(){var e=this;setTimeout((function(){e.currentUser={name:e.$store.getters.nickname}}),1500)}},Y=K,Q=Object(z["a"])(Y,U,R,!1,null,null,null),Z=Q.exports,J=function(){var e=this,t=e._self._c;return t("global-footer",{staticClass:"footer custom-render",scopedSlots:e._u([{key:"links",fn:function(){return[t("a",{attrs:{href:"https://www.github.com/vueComponent/pro-layout",target:"_blank"}},[e._v("Pro Layout")]),t("a",{attrs:{href:"https://www.github.com/vueComponent/ant-design-vue-pro",target:"_blank"}},[e._v("Github")]),t("a",{attrs:{href:"https://www.github.com/sendya/",target:"_blank"}},[e._v("@Sendya")])]},proxy:!0},{key:"copyright",fn:function(){return[t("a",{attrs:{href:"https://github.com/vueComponent",target:"_blank"}},[e._v("vueComponent")])]},proxy:!0}])})},X=[],ee={name:"ProGlobalFooter",components:{GlobalFooter:F["a"]}},te=ee,ae=Object(z["a"])(te,J,X,!1,null,null,null),ne=ae.exports,re="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js",se={props:{isMobile:Boolean},mounted:function(){},methods:{load:function(){if(re){var e=document.createElement("script");e.id="_adsbygoogle_js",e.src=re,this.$el.appendChild(e),setTimeout((function(){(window.adsbygoogle||[]).push({})}),2e3)}}},render:function(){var e=arguments[0];return e("div",{class:"business-pro-ad"},[e("a",{attrs:{href:"https://store.antdv.com/pro/",target:"_blank"}},["(推荐) 企业级商用版 Admin Pro 现已发售,采用 Vue3 + TS 欢迎购买。"])])}},oe=se,ie=(a("13cf"),Object(z["a"])(oe,n,r,!1,null,"4109f67d",null)),ce=ie.exports,le=a("8eeb4"),ue=a.n(le),de={name:"BasicLayout",components:{SettingDrawer:F["c"],RightContent:Z,GlobalFooter:ne,LogoSvg:ue.a,Ads:ce},data:function(){return{isProPreviewSite:!1,isDev:!1,menus:[],collapsed:!1,title:$["a"].title,settings:{layout:$["a"].layout,contentWidth:"sidemenu"===$["a"].layout?E["c"].Fluid:$["a"].contentWidth,theme:$["a"].navTheme,primaryColor:$["a"].primaryColor,fixedHeader:$["a"].fixedHeader,fixSiderbar:$["a"].fixSiderbar,colorWeak:$["a"].colorWeak,hideHintAlert:!1,hideCopyButton:!1},query:{},isMobile:!1}},computed:Object(l["a"])({},Object(u["mapState"])({mainMenu:function(e){return e.permission.addRouters}})),created:function(){var e=this,t=this.mainMenu.find((function(e){return"/"===e.path}));this.menus=t&&t.children||[],this.$watch("collapsed",(function(){e.$store.commit(E["d"],e.collapsed)})),this.$watch("isMobile",(function(){e.$store.commit(E["k"],e.isMobile)}))},mounted:function(){var e=this,t=navigator.userAgent;t.indexOf("Edge")>-1&&this.$nextTick((function(){e.collapsed=!e.collapsed,setTimeout((function(){e.collapsed=!e.collapsed}),16)}))},methods:{i18nRender:p["b"],handleMediaQuery:function(e){this.query=e,!this.isMobile||e["screen-xs"]?!this.isMobile&&e["screen-xs"]&&(this.isMobile=!0,this.collapsed=!1,this.settings.contentWidth=E["c"].Fluid):this.isMobile=!1},handleCollapse:function(e){this.collapsed=e},handleSettingChange:function(e){var t=e.type,a=e.value;switch(t&&(this.settings[t]=a),t){case"contentWidth":this.settings[t]=a;break;case"layout":"sidemenu"===a?this.settings.contentWidth=E["c"].Fluid:(this.settings.fixSiderbar=!1,this.settings.contentWidth=E["c"].Fixed);break}}}},fe=de,me=(a("3b74"),Object(z["a"])(fe,_,A,!1,null,null,null)),he=me.exports,pe={name:"RouteView",props:{keepAlive:{type:Boolean,default:!0}},data:function(){return{}},render:function(){var e=arguments[0],t=this.$route.meta,a=this.$store.getters,n=e("keep-alive",[e("router-view")]),r=e("router-view");return(a.multiTab||t.keepAlive)&&(this.keepAlive||a.multiTab||t.keepAlive)?n:r}},ge=pe,be=Object(z["a"])(ge,s,o,!1,null,null,null),ye=(be.exports,function(){var e=this,t=e._self._c;return t("page-header-wrapper",[t("router-view")],1)}),ve=[],Ce={name:"PageView"},ke=Ce,we=Object(z["a"])(ke,ye,ve,!1,null,null,null),Ne=(we.exports,a("0dbd")),Se=a.n(Ne),ze={name:"RouteView",render:function(e){return e("router-view")}},Pe=[{path:"/",name:"index",component:he,meta:{title:"menu.home"},redirect:"/dashboard/analysis",children:[{path:"/dashboard",name:"dashboard",redirect:"/dashboard/analysis",hideChildrenInMenu:!0,component:ze,meta:{title:"menu.dashboard",keepAlive:!0,icon:Se.a,permission:["dashboard"]},children:[{path:"/dashboard/analysis",name:"Analysis",component:function(){return Promise.all([a.e("chunk-39be5683"),a.e("chunk-77aaac2a")]).then(a.bind(null,"2f3a"))},meta:{title:"menu.dashboard.analysis",keepAlive:!0,permission:["dashboard"]}}]},{path:"/basic-config-list",name:"basicConfigList",component:function(){return Promise.all([a.e("chunk-39be5683"),a.e("chunk-2d21a08f")]).then(a.bind(null,"ba93"))},meta:{title:"组管理",icon:"profile",permission:["group"]}},{path:"/basic-config",name:"basicConfig",hidden:!0,component:function(){return Promise.all([a.e("chunk-39be5683"),a.e("chunk-4a2f6b49")]).then(a.bind(null,"e941"))},meta:{title:"基础信息配置",hidden:!0,hideChildrenInMenu:!0,icon:"profile",permission:["basicConfig"]}},{path:"/retry-task",name:"RetryTask",component:ze,hideChildrenInMenu:!0,redirect:"/retry-task/list",meta:{title:"任务管理",icon:"profile",hideChildrenInMenu:!0,keepAlive:!0,permission:["retryTask"]},children:[{path:"/retry-task/info",name:"RetryTaskInfo",component:function(){return a.e("chunk-35f6c8ac").then(a.bind(null,"99f5"))},meta:{title:"任务管理详情",icon:"profile",keepAlive:!0,permission:["retryTask"]}},{path:"/retry-task/list",name:"RetryTaskList",component:function(){return Promise.all([a.e("chunk-39be5683"),a.e("chunk-71608044")]).then(a.bind(null,"9d75"))},meta:{title:"任务管理列表",icon:"profile",keepAlive:!0,permission:["retryTask"]}}]},{path:"/retry-dead-letter",name:"RetryDeadLetter",component:ze,hideChildrenInMenu:!0,redirect:"/retry-dead-letter/list",meta:{title:"死信队列管理",icon:"profile",permission:["retryDeadLetter"]},children:[{path:"/retry-dead-letter/list",name:"RetryDeadLetterList",component:function(){return Promise.all([a.e("chunk-39be5683"),a.e("chunk-244a93b4")]).then(a.bind(null,"dafb"))},meta:{title:"死信队列管理列表",icon:"profile",permission:["retryDeadLetter"]}},{path:"/retry-dead-letter/info",name:"RetryDeadLetterInfo",component:function(){return a.e("chunk-2672acfa").then(a.bind(null,"56bb"))},meta:{title:"死信队列管理详情",icon:"profile",permission:["retryDeadLetter"]}}]},{path:"/retry-log",name:"RetryLog",component:ze,hideChildrenInMenu:!0,redirect:"/retry-log/list",meta:{title:"重试日志管理",icon:"profile",permission:["retryLog"]},children:[{path:"/retry-log/list",name:"RetryLogList",component:function(){return Promise.all([a.e("chunk-39be5683"),a.e("chunk-1bf36f2c")]).then(a.bind(null,"0564"))},meta:{title:"重试日志列表",icon:"profile",permission:["retryLog"]}},{path:"/retry-log/info",name:"RetryLogInfo",component:function(){return a.e("chunk-2515aa86").then(a.bind(null,"5fe2"))},meta:{title:"重试日志详情",icon:"profile",permission:["retryLog"]}}]},{path:"/user-list",name:"UserList",component:function(){return Promise.all([a.e("chunk-39be5683"),a.e("chunk-bf3addda")]).then(a.bind(null,"1faf"))},meta:{title:"用户管理",icon:"profile",permission:["user"]}},{path:"/user-form",name:"UserForm",hidden:!0,component:function(){return a.e("chunk-08798c7e").then(a.bind(null,"bf80"))},meta:{title:"新增或更新用户",icon:"profile",permission:["userForm"]}}]},{path:"*",redirect:"/404",hidden:!0}],je=[{path:"/user",component:j,redirect:"/user/login",hidden:!0,children:[{path:"login",name:"login",component:function(){return a.e("user").then(a.bind(null,"ac2a"))}},{path:"recover",name:"recover",component:void 0}]},{path:"/404",component:function(){return a.e("fail").then(a.bind(null,"cc89"))}}]},dea1:function(e,t,a){"use strict";a.r(t);var n=a("5530"),r=a("b781");t["default"]=Object(n["a"])({},r["default"])},e06b:function(e,t,a){},e819:function(e,t,a){"use strict";t["a"]={navTheme:"dark",primaryColor:"#1890ff",layout:"topmenu",contentWidth:"Fixed",fixedHeader:!1,fixSiderbar:!1,colorWeak:!1,menu:{locale:!0},title:"Easy-Retry",pwa:!1,iconfontUrl:"",production:!0}},f4ba:function(e,t,a){"use strict";a("e06b")},fddb:function(e,t,a){},ffb6:function(e,t,a){"use strict";a.r(t);var n=a("5530"),r=a("0af2");t["default"]=Object(n["a"])({},r["default"])}}); \ No newline at end of file diff --git a/easy-retry-server/src/main/resources/admin/js/chunk-08798c7e.984d2f3a.js b/easy-retry-server/src/main/resources/admin/js/chunk-08798c7e.bfbd5a35.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/chunk-08798c7e.984d2f3a.js rename to easy-retry-server/src/main/resources/admin/js/chunk-08798c7e.bfbd5a35.js diff --git a/easy-retry-server/src/main/resources/admin/js/chunk-1bf36f2c.ab7c2647.js b/easy-retry-server/src/main/resources/admin/js/chunk-1bf36f2c.b33b2536.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/chunk-1bf36f2c.ab7c2647.js rename to easy-retry-server/src/main/resources/admin/js/chunk-1bf36f2c.b33b2536.js diff --git a/easy-retry-server/src/main/resources/admin/js/chunk-244a93b4.d6cff8a4.js b/easy-retry-server/src/main/resources/admin/js/chunk-244a93b4.89d86add.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/chunk-244a93b4.d6cff8a4.js rename to easy-retry-server/src/main/resources/admin/js/chunk-244a93b4.89d86add.js diff --git a/easy-retry-server/src/main/resources/admin/js/chunk-2515aa86.c58c1b7a.js b/easy-retry-server/src/main/resources/admin/js/chunk-2515aa86.c6f32c4c.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/chunk-2515aa86.c58c1b7a.js rename to easy-retry-server/src/main/resources/admin/js/chunk-2515aa86.c6f32c4c.js diff --git a/easy-retry-server/src/main/resources/admin/js/chunk-2672acfa.bc252574.js b/easy-retry-server/src/main/resources/admin/js/chunk-2672acfa.a6a69a7f.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/chunk-2672acfa.bc252574.js rename to easy-retry-server/src/main/resources/admin/js/chunk-2672acfa.a6a69a7f.js diff --git a/easy-retry-server/src/main/resources/admin/js/chunk-2d21a08f.667d7e9a.js b/easy-retry-server/src/main/resources/admin/js/chunk-2d21a08f.10f9edd8.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/chunk-2d21a08f.667d7e9a.js rename to easy-retry-server/src/main/resources/admin/js/chunk-2d21a08f.10f9edd8.js diff --git a/easy-retry-server/src/main/resources/admin/js/chunk-35f6c8ac.bf2fbc64.js b/easy-retry-server/src/main/resources/admin/js/chunk-35f6c8ac.4166a8c0.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/chunk-35f6c8ac.bf2fbc64.js rename to easy-retry-server/src/main/resources/admin/js/chunk-35f6c8ac.4166a8c0.js diff --git a/easy-retry-server/src/main/resources/admin/js/chunk-39be5683.17f16b23.js b/easy-retry-server/src/main/resources/admin/js/chunk-39be5683.8052daba.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/chunk-39be5683.17f16b23.js rename to easy-retry-server/src/main/resources/admin/js/chunk-39be5683.8052daba.js diff --git a/easy-retry-server/src/main/resources/admin/js/chunk-4a2f6b49.745ee7e8.js b/easy-retry-server/src/main/resources/admin/js/chunk-4a2f6b49.8726a153.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/chunk-4a2f6b49.745ee7e8.js rename to easy-retry-server/src/main/resources/admin/js/chunk-4a2f6b49.8726a153.js diff --git a/easy-retry-server/src/main/resources/admin/js/chunk-71608044.5af14532.js b/easy-retry-server/src/main/resources/admin/js/chunk-71608044.5af14532.js deleted file mode 100644 index 1ef0e03c2..000000000 --- a/easy-retry-server/src/main/resources/admin/js/chunk-71608044.5af14532.js +++ /dev/null @@ -1 +0,0 @@ -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-71608044"],{"16f7":function(e,t,a){"use strict";var r=function(){var e=this,t=e._self._c;return t("div",[t("a-form",{attrs:{form:e.form},on:{submit:e.handleSubmit}},[t("a-form-item",{attrs:{labelCol:e.labelCol,wrapperCol:e.wrapperCol,label:"规则编号",hasFeedback:"",validateStatus:"success"}},[t("a-input",{directives:[{name:"decorator",rawName:"v-decorator",value:["no",{rules:[{required:!0,message:"请输入规则编号"}]}],expression:"[\n 'no',\n {rules: [{ required: true, message: '请输入规则编号' }]}\n ]"}],attrs:{placeholder:"规则编号",disabled:!0}})],1),t("a-form-item",{attrs:{labelCol:e.labelCol,wrapperCol:e.wrapperCol,label:"服务调用次数",hasFeedback:"",validateStatus:"success"}},[t("a-input-number",{directives:[{name:"decorator",rawName:"v-decorator",value:["callNo",{rules:[{required:!0}]}],expression:"['callNo', {rules: [{ required: true }]}]"}],staticStyle:{width:"100%"},attrs:{min:1}})],1),t("a-form-item",{attrs:{labelCol:e.labelCol,wrapperCol:e.wrapperCol,label:"状态",hasFeedback:"",validateStatus:"warning"}},[t("a-select",{directives:[{name:"decorator",rawName:"v-decorator",value:["status",{rules:[{required:!0,message:"请选择状态"}],initialValue:"1"}],expression:"['status', {rules: [{ required: true, message: '请选择状态' }], initialValue: '1'}]"}]},[t("a-select-option",{attrs:{value:1}},[e._v("Option 1")]),t("a-select-option",{attrs:{value:2}},[e._v("Option 2")]),t("a-select-option",{attrs:{value:3}},[e._v("Option 3")])],1)],1),t("a-form-item",{attrs:{labelCol:e.labelCol,wrapperCol:e.wrapperCol,label:"描述",hasFeedback:"",help:"请填写一段描述"}},[t("a-textarea",{directives:[{name:"decorator",rawName:"v-decorator",value:["description",{rules:[{required:!0}]}],expression:"['description', {rules: [{ required: true }]}]"}],attrs:{rows:5,placeholder:"..."}})],1),t("a-form-item",{attrs:{labelCol:e.labelCol,wrapperCol:e.wrapperCol,label:"更新时间",hasFeedback:"",validateStatus:"error"}},[t("a-date-picker",{directives:[{name:"decorator",rawName:"v-decorator",value:["updatedAt"],expression:"['updatedAt']"}],staticStyle:{width:"100%"},attrs:{showTime:"",format:"YYYY-MM-DD HH:mm:ss",placeholder:"Select Time"}})],1),t("a-form-item",e._b({},"a-form-item",e.buttonCol,!1),[t("a-row",[t("a-col",{attrs:{span:"6"}},[t("a-button",{attrs:{type:"primary","html-type":"submit"}},[e._v("提交")])],1),t("a-col",{attrs:{span:"10"}},[t("a-button",{on:{click:e.handleGoBack}},[e._v("返回")])],1),t("a-col",{attrs:{span:"8"}})],1)],1)],1)],1)},s=[],n=(a("d3b7"),a("c1df")),o=a.n(n),i=a("88bc"),l=a.n(i),u={name:"TableEdit",props:{record:{type:[Object,String],default:""}},data:function(){return{labelCol:{xs:{span:24},sm:{span:5}},wrapperCol:{xs:{span:24},sm:{span:12}},buttonCol:{wrapperCol:{xs:{span:24},sm:{span:12,offset:5}}},form:this.$form.createForm(this),id:0}},mounted:function(){var e=this;this.$nextTick((function(){e.loadEditInfo(e.record)}))},methods:{handleGoBack:function(){this.$emit("onGoBack")},handleSubmit:function(){var e=this.form.validateFields;e((function(e,t){}))},handleGetInfo:function(){},loadEditInfo:function(e){var t=this.form;new Promise((function(e){setTimeout(e,1500)})).then((function(){var a=l()(e,["no","callNo","status","description","updatedAt"]);a.updatedAt=o()(e.updatedAt),t.setFieldsValue(a)}))}}},c=u,d=a("2877"),m=Object(d["a"])(c,r,s,!1,null,null,null);t["a"]=m.exports},"88bc":function(e,t,a){(function(t){var a=1/0,r=9007199254740991,s="[object Arguments]",n="[object Function]",o="[object GeneratorFunction]",i="[object Symbol]",l="object"==typeof t&&t&&t.Object===Object&&t,u="object"==typeof self&&self&&self.Object===Object&&self,c=l||u||Function("return this")();function d(e,t,a){switch(a.length){case 0:return e.call(t);case 1:return e.call(t,a[0]);case 2:return e.call(t,a[0],a[1]);case 3:return e.call(t,a[0],a[1],a[2])}return e.apply(t,a)}function m(e,t){var a=-1,r=e?e.length:0,s=Array(r);while(++a0&&a(i)?t>1?N(i,t-1,a,r,s):f(s,i):r||(s[s.length]=i)}return s}function S(e,t){return e=Object(e),x(e,t,(function(t,a){return a in e}))}function x(e,t,a){var r=-1,s=t.length,n={};while(++r-1&&e%1==0&&e<=r}function T(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function F(e){return!!e&&"object"==typeof e}function L(e){return"symbol"==typeof e||F(e)&&v.call(e)==i}var P=k((function(e,t){return null==e?{}:S(e,m(N(t,1),C))}));e.exports=P}).call(this,a("c8ba"))},"9d75":function(e,t,a){"use strict";a.r(t);var r=function(){var e=this,t=e._self._c;return t("a-card",{attrs:{bordered:!1}},[t("div",{staticClass:"table-page-search-wrapper"},[t("a-form",{attrs:{layout:"inline"}},[t("a-row",{attrs:{gutter:48}},[t("a-col",{attrs:{md:8,sm:24}},[t("a-form-item",{attrs:{label:"组名称"}},[t("a-select",{attrs:{placeholder:"请输入组名称"},on:{change:function(t){return e.handleChange(t)}},model:{value:e.queryParam.groupName,callback:function(t){e.$set(e.queryParam,"groupName",t)},expression:"queryParam.groupName"}},e._l(e.groupNameList,(function(a){return t("a-select-option",{key:a,attrs:{value:a}},[e._v(e._s(a))])})),1)],1)],1),t("a-col",{attrs:{md:8,sm:24}},[t("a-form-item",{attrs:{label:"场景名称"}},[t("a-select",{attrs:{placeholder:"请选择场景名称",allowClear:""},model:{value:e.queryParam.sceneName,callback:function(t){e.$set(e.queryParam,"sceneName",t)},expression:"queryParam.sceneName"}},e._l(e.sceneList,(function(a){return t("a-select-option",{key:a.sceneName,attrs:{value:a.sceneName}},[e._v(" "+e._s(a.sceneName))])})),1)],1)],1),t("a-col",{attrs:{md:8,sm:24}},[t("a-form-item",{attrs:{label:"重试状态"}},[t("a-select",{attrs:{placeholder:"请选择状态",allowClear:""},model:{value:e.queryParam.retryStatus,callback:function(t){e.$set(e.queryParam,"retryStatus",t)},expression:"queryParam.retryStatus"}},e._l(e.retryStatus,(function(a,r){return t("a-select-option",{key:r,attrs:{value:r}},[e._v(" "+e._s(a))])})),1)],1)],1),e.advanced?[t("a-col",{attrs:{md:8,sm:24}},[t("a-form-item",{attrs:{label:"业务编号"}},[t("a-input",{attrs:{placeholder:"请输入业务编号",allowClear:""},model:{value:e.queryParam.bizNo,callback:function(t){e.$set(e.queryParam,"bizNo",t)},expression:"queryParam.bizNo"}})],1)],1),t("a-col",{attrs:{md:8,sm:24}},[t("a-form-item",{attrs:{label:"业务id"}},[t("a-input",{attrs:{placeholder:"请输入业务id",allowClear:""},model:{value:e.queryParam.bizId,callback:function(t){e.$set(e.queryParam,"bizId",t)},expression:"queryParam.bizId"}})],1)],1)]:e._e(),t("a-col",{attrs:{md:e.advanced?24:8,sm:24}},[t("span",{staticClass:"table-page-search-submitButtons",style:e.advanced&&{float:"right",overflow:"hidden"}||{}},[t("a-button",{attrs:{type:"primary"},on:{click:function(t){return e.$refs.table.refresh(!0)}}},[e._v("查询")]),t("a-button",{staticStyle:{"margin-left":"8px"},on:{click:function(){return e.queryParam={}}}},[e._v("重置")]),t("a",{staticStyle:{"margin-left":"8px"},on:{click:e.toggleAdvanced}},[e._v(" "+e._s(e.advanced?"收起":"展开")+" "),t("a-icon",{attrs:{type:e.advanced?"up":"down"}})],1)],1)])],2)],1)],1),t("div",{staticClass:"table-operator"},[t("a-button",{attrs:{type:"primary",icon:"plus"},on:{click:function(t){return e.handleNew()}}},[e._v("新增")]),e.selectedRowKeys.length>0?t("a-dropdown",{directives:[{name:"action",rawName:"v-action:edit",arg:"edit"}]},[t("a-menu",{attrs:{slot:"overlay"},on:{click:e.onClick},slot:"overlay"},[t("a-menu-item",{key:"1"},[t("a-icon",{attrs:{type:"delete"}}),e._v("删除")],1),t("a-menu-item",{key:"2"},[t("a-icon",{attrs:{type:"edit"}}),e._v("更新")],1)],1),t("a-button",{staticStyle:{"margin-left":"8px"}},[e._v(" 批量操作 "),t("a-icon",{attrs:{type:"down"}})],1)],1):e._e()],1),t("s-table",{ref:"table",attrs:{size:"default",rowKey:function(e){return e.id},columns:e.columns,data:e.loadData,alert:e.options.alert,rowSelection:e.options.rowSelection,scroll:{x:2e3}},scopedSlots:e._u([{key:"serial",fn:function(a,r){return t("span",{},[e._v(" "+e._s(r.id)+" ")])}},{key:"action",fn:function(a,r){return t("span",{},[[t("a",{on:{click:function(t){return e.handleInfo(r)}}},[e._v("详情")]),t("a-divider",{attrs:{type:"vertical"}}),0===r.retryStatus?t("a",{on:{click:function(t){return e.handleSuspend(r)}}},[e._v("暂停")]):e._e(),0===r.retryStatus?t("a-divider",{attrs:{type:"vertical"}}):e._e(),3===r.retryStatus?t("a",{on:{click:function(t){return e.handleRecovery(r)}}},[e._v("恢复")]):e._e(),3===r.retryStatus?t("a-divider",{attrs:{type:"vertical"}}):e._e(),1!==r.retryStatus?t("a",{on:{click:function(t){return e.handleFinish(r)}}},[e._v("完成")]):e._e(),1!==r.retryStatus?t("a-divider",{attrs:{type:"vertical"}}):e._e()]],2)}}])}),t("SaveRetryTask",{ref:"saveRetryTask",on:{refreshTable:e.refreshTable}}),t("BatchUpdateRetryTaskInfo",{ref:"batchUpdateRetryTaskInfo",on:{refreshTable:e.refreshTable}})],1)},s=[],n=a("261e"),o=a("27e3"),i=a("16f7"),l=a("0fea"),u=a("2af9"),c=a("c1df"),d=a.n(c),m=function(){var e=this,t=e._self._c;return t("div",[t("a-modal",{attrs:{visible:e.visible,title:"新增任务",width:"800px"},on:{ok:e.handleOk,cancel:function(t){e.visible=!1}}},[t("a-form",e._b({attrs:{form:e.form},on:{submit:e.handleOk}},"a-form",e.formItemLayout,!1),[t("a-form-item",{attrs:{label:"组"}},[t("a-select",{directives:[{name:"decorator",rawName:"v-decorator",value:["groupName",{rules:[{required:!0,message:"请选择组"}]}],expression:"['groupName', { rules: [{ required: true, message: '请选择组' }] }]"}],attrs:{placeholder:"请选择组"},on:{change:function(t){return e.handleChange(t)}}},e._l(e.groupNameList,(function(a){return t("a-select-option",{key:a,attrs:{value:a}},[e._v(e._s(a))])})),1)],1),t("a-form-item",{attrs:{label:"场景名称"}},[t("a-select",{directives:[{name:"decorator",rawName:"v-decorator",value:["sceneName",{rules:[{required:!0,message:"请选择场景名称"}]}],expression:"['sceneName', { rules: [{ required: true, message: '请选择场景名称' }] }]"}],attrs:{placeholder:"请选择场景名称"}},e._l(e.sceneList,(function(a){return t("a-select-option",{key:a.sceneName,attrs:{value:a.sceneName}},[e._v(" "+e._s(a.sceneName))])})),1)],1),t("a-form-item",{attrs:{label:"执行器名称"}},[t("a-input",{directives:[{name:"decorator",rawName:"v-decorator",value:["executorName",{rules:[{required:!0,message:"请输入执行器名称"}]}],expression:"['executorName', { rules: [{ required: true, message: '请输入执行器名称' }] }]"}],attrs:{name:"executorName",placeholder:"请输入执行器名称"}})],1),t("a-form-item",{attrs:{label:"重试ID"}},[t("a-input",{directives:[{name:"decorator",rawName:"v-decorator",value:["bizId",{rules:[{required:!0,message:"请输入重试ID"}]}],expression:"['bizId', { rules: [{ required: true, message: '请输入重试ID' }] }]"}],attrs:{name:"bizId",placeholder:"请输入业务编号"}},[t("a-tooltip",{attrs:{slot:"suffix",title:"同一个场景下正在重试中的重试ID不能重复,若重复的重试ID在上报时会被幂等处理"},slot:"suffix"},[t("a-icon",{staticStyle:{color:"rgba(0, 0, 0, 0.45)"},attrs:{type:"info-circle"}})],1)],1),t("a-button",{staticStyle:{position:"absolute",margin:"3px 10px"},attrs:{type:"primary"},on:{click:e.bizIdGenerate}},[e._v(" 生成 ")])],1),t("a-form-item",{attrs:{label:"业务编号"}},[t("a-input",{directives:[{name:"decorator",rawName:"v-decorator",value:["bizNo",{rules:[{required:!1,message:"请输入业务编号"}]}],expression:"['bizNo', { rules: [{ required: false, message: '请输入业务编号' }] }]"}],attrs:{name:"bizNo",placeholder:"请输入业务编号"}},[t("a-tooltip",{attrs:{slot:"suffix",title:"具有业务特征的编号比如订单号、物流编号等"},slot:"suffix"},[t("a-icon",{staticStyle:{color:"rgba(0, 0, 0, 0.45)"},attrs:{type:"info-circle"}})],1)],1)],1),t("a-form-item",{attrs:{label:"重试状态"}},[t("a-select",{directives:[{name:"decorator",rawName:"v-decorator",value:["retryStatus",{rules:[{required:!0,message:"请选择重试状态"}]}],expression:"['retryStatus', { rules: [{ required: true, message: '请选择重试状态' }] }]"}],attrs:{placeholder:"请选择重试状态"}},e._l(e.retryStatus,(function(a,r){return t("a-select-option",{key:r,attrs:{value:r}},[e._v(" "+e._s(a))])})),1)],1),t("a-form-item",{attrs:{label:"参数"}},[t("a-textarea",{directives:[{name:"decorator",rawName:"v-decorator",value:["argsStr",{rules:[{required:!0,message:"请输入参数"}]}],expression:"['argsStr', { rules: [{ required: true, message: '请输入参数' }] }]"}],attrs:{rows:"4",placeholder:"请输入参数"}})],1)],1)],1)],1)},f=[],p={name:"SavRetryTask",props:{},data:function(){return{visible:!1,form:this.$form.createForm(this),formItemLayout:{labelCol:{lg:{span:6},sm:{span:7}},wrapperCol:{lg:{span:14},sm:{span:17}}},groupNameList:[],sceneList:[],retryStatus:{0:"重试中",1:"重试完成",2:"最大次数",3:"暂停"}}},methods:{handleOk:function(e){var t=this;e.preventDefault(),this.form.validateFields((function(e,a){e||Object(l["A"])(a).then((function(e){t.form.resetFields(),t.$message.success("新增任务成功"),t.visible=!1,t.$emit("refreshTable",1)}))}))},handleChange:function(e){var t=this;Object(l["s"])({groupName:e}).then((function(e){t.sceneList=e.data}))},isShow:function(e,t){var a=this;this.visible=e,Object(l["h"])().then((function(e){a.groupNameList=e.data}))},bizIdGenerate:function(){var e=this,t=this.form.getFieldValue("groupName"),a=this.form.getFieldValue("sceneName"),r=this.form.getFieldValue("executorName"),s=this.form.getFieldValue("argsStr");Object(l["c"])({groupName:t,sceneName:a,executorName:r,argsStr:s}).then((function(t){e.form.setFieldsValue({bizId:t.data})}))}}},h=p,v=a("2877"),b=Object(v["a"])(h,m,f,!1,null,"1b928eba",null),y=b.exports,g=function(){var e=this,t=e._self._c;return t("div",[t("a-modal",{attrs:{visible:e.visible,title:"批量更新",width:"800px"},on:{ok:e.handleOk,cancel:function(t){e.visible=!1}}},[t("a-form",e._b({attrs:{form:e.form},on:{submit:e.handleOk}},"a-form",e.formItemLayout,!1),[t("a-alert",{attrs:{message:"批量更新只根据选择的数据进行更新, 请操作前确认您的选择的数据是否正确?",banner:""}}),t("a-form-item",{attrs:{label:"执行器名称"}},[t("a-input",{directives:[{name:"decorator",rawName:"v-decorator",value:["executorName",{rules:[{required:!1,message:"请输入执行器名称"}]}],expression:"['executorName', { rules: [{ required: false, message: '请输入执行器名称' }] }]"}],attrs:{name:"executorName",placeholder:"请输入执行器名称"}})],1),t("a-form-item",{attrs:{label:"重试状态"}},[t("a-select",{directives:[{name:"decorator",rawName:"v-decorator",value:["retryStatus",{rules:[{required:!1,message:"请选择重试状态"}]}],expression:"['retryStatus', { rules: [{ required: false, message: '请选择重试状态' }] }]"}],attrs:{placeholder:"请选择重试状态"}},e._l(e.retryStatus,(function(a,r){return t("a-select-option",{key:r,attrs:{value:r}},[e._v(" "+e._s(a))])})),1)],1)],1)],1)],1)},w=[],N={name:"BatchUpdateRetryTaskInfo",props:{},data:function(){return{visible:!1,form:this.$form.createForm(this),formItemLayout:{labelCol:{lg:{span:6},sm:{span:7}},wrapperCol:{lg:{span:14},sm:{span:17}}},groupNameList:[],sceneList:[],retryStatus:{0:"重试中",1:"重试完成",2:"最大次数",3:"暂停"},groupName:"",ids:[]}},methods:{handleOk:function(e){var t=this;e.preventDefault(),this.form.validateFields((function(e,a){if(!e){if(void 0===a["executorName"]&&void 0===a["retryStatus"])return void t.$message.error("无需要更新的内容, 请填写任意一项");a["groupName"]=t.groupName,a["ids"]=t.ids,Object(l["b"])(a).then((function(e){t.$emit("refreshTable",1),t.form.resetFields(),t.$message.success("更新任务成功"),t.visible=!1}))}}))},isShow:function(e,t,a){this.visible=e,this.groupName=t[0].groupName,this.ids=a}}},S=N,x=Object(v["a"])(S,g,w,!1,null,"14d86acc",null),k=x.exports,_={name:"RetryTask",components:{AInput:o["a"],ATextarea:n["a"],Edit:i["a"],STable:u["j"],SaveRetryTask:y,BatchUpdateRetryTaskInfo:k},data:function(){var e=this;return{currentComponet:"List",record:"",mdl:{},visible:!1,advanced:!1,queryParam:{},retryStatus:{0:"重试中",1:"重试完成",2:"最大次数",3:"暂停"},columns:[{title:"ID",scopedSlots:{customRender:"serial"},fixed:"left"},{title:"组名称",dataIndex:"groupName",ellipsis:!0},{title:"场景名称",dataIndex:"sceneName"},{title:"业务id",dataIndex:"bizId"},{title:"业务编号",dataIndex:"bizNo"},{title:"下次触发时间",dataIndex:"nextTriggerAt",needTotal:!1,customRender:function(e){return d()(e).format("YYYY-MM-DD HH:mm:ss")}},{title:"重试次数",dataIndex:"retryCount",sorter:!0},{title:"重试状态",dataIndex:"retryStatus",customRender:function(t){return e.retryStatus[t]}},{title:"更新时间",dataIndex:"updateDt",sorter:!0,customRender:function(e){return d()(e).format("YYYY-MM-DD HH:mm:ss")}},{title:"操作",fixed:"right",dataIndex:"action",width:"150px",scopedSlots:{customRender:"action"}}],loadData:function(t){return Object(l["r"])(Object.assign(t,e.queryParam)).then((function(e){return e}))},selectedRowKeys:[],selectedRows:[],options:{alert:{show:!0,clear:function(){e.selectedRowKeys=[]}},rowSelection:{selectedRowKeys:this.selectedRowKeys,onChange:this.onSelectChange}},optionAlertShow:!1,groupNameList:[],sceneList:[]}},created:function(){var e=this;Object(l["h"])().then((function(t){e.groupNameList=t.data,null!==e.groupNameList&&e.groupNameList.length>0&&(e.queryParam["groupName"]=e.groupNameList[0],e.$refs.table.refresh(!0),e.handleChange(e.groupNameList[0]))}))},methods:{handleNew:function(){this.$refs.saveRetryTask.isShow(!0,null)},handleChange:function(e){var t=this;Object(l["s"])({groupName:e}).then((function(e){t.sceneList=e.data}))},toggleAdvanced:function(){this.advanced=!this.advanced},handleInfo:function(e){this.$router.push({path:"/retry-task/info",query:{id:e.id,groupName:e.groupName}})},handleOk:function(e){},handleSuspend:function(e){var t=this;Object(l["C"])({id:e.id,groupName:e.groupName,retryStatus:3}).then((function(e){var a=e.status;0===a?t.$message.error("暂停失败"):(t.$refs.table.refresh(!0),t.$message.success("暂停成功"))}))},handleRecovery:function(e){var t=this;Object(l["C"])({id:e.id,groupName:e.groupName,retryStatus:0}).then((function(e){var a=e.status;0===a?t.$message.error("恢复失败"):(t.$refs.table.refresh(!0),t.$message.success("恢复成功"))}))},handleFinish:function(e){var t=this;Object(l["C"])({id:e.id,groupName:e.groupName,retryStatus:1}).then((function(e){var a=e.status;0===a?t.$message.error("重试完成失败"):(t.$refs.table.refresh(!0),t.$message.success("重试完成成功"))}))},refreshTable:function(e){this.$refs.table.refresh(!0)},onSelectChange:function(e,t){this.selectedRowKeys=e,this.selectedRows=t},handlerDel:function(){this.$createElement;var e=this;this.$confirm({title:"您要删除这些数据吗?",content:function(e){return e("div",{style:"color:red;"},["删除后数据不可恢复,请确认!"])},onOk:function(){Object(l["a"])({groupName:e.selectedRows[0].groupName,ids:e.selectedRowKeys}).then((function(t){e.$refs.table.refresh(!0),e.$message.success("成功删除".concat(t.data,"条数据")),e.selectedRowKeys=[]}))},onCancel:function(){},class:"test"})},onClick:function(e){var t=e.key;"2"!==t?"1"===t&&this.handlerDel():this.$refs.batchUpdateRetryTaskInfo.isShow(!0,this.selectedRows,this.selectedRowKeys)}}},C=_,q=Object(v["a"])(C,r,s,!1,null,null,null);t["default"]=q.exports}}]); \ No newline at end of file diff --git a/easy-retry-server/src/main/resources/admin/js/chunk-71608044.e21176f4.js b/easy-retry-server/src/main/resources/admin/js/chunk-71608044.e21176f4.js new file mode 100644 index 000000000..c606c84c5 --- /dev/null +++ b/easy-retry-server/src/main/resources/admin/js/chunk-71608044.e21176f4.js @@ -0,0 +1 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-71608044"],{"16f7":function(e,t,a){"use strict";var r=function(){var e=this,t=e._self._c;return t("div",[t("a-form",{attrs:{form:e.form},on:{submit:e.handleSubmit}},[t("a-form-item",{attrs:{labelCol:e.labelCol,wrapperCol:e.wrapperCol,label:"规则编号",hasFeedback:"",validateStatus:"success"}},[t("a-input",{directives:[{name:"decorator",rawName:"v-decorator",value:["no",{rules:[{required:!0,message:"请输入规则编号"}]}],expression:"[\n 'no',\n {rules: [{ required: true, message: '请输入规则编号' }]}\n ]"}],attrs:{placeholder:"规则编号",disabled:!0}})],1),t("a-form-item",{attrs:{labelCol:e.labelCol,wrapperCol:e.wrapperCol,label:"服务调用次数",hasFeedback:"",validateStatus:"success"}},[t("a-input-number",{directives:[{name:"decorator",rawName:"v-decorator",value:["callNo",{rules:[{required:!0}]}],expression:"['callNo', {rules: [{ required: true }]}]"}],staticStyle:{width:"100%"},attrs:{min:1}})],1),t("a-form-item",{attrs:{labelCol:e.labelCol,wrapperCol:e.wrapperCol,label:"状态",hasFeedback:"",validateStatus:"warning"}},[t("a-select",{directives:[{name:"decorator",rawName:"v-decorator",value:["status",{rules:[{required:!0,message:"请选择状态"}],initialValue:"1"}],expression:"['status', {rules: [{ required: true, message: '请选择状态' }], initialValue: '1'}]"}]},[t("a-select-option",{attrs:{value:1}},[e._v("Option 1")]),t("a-select-option",{attrs:{value:2}},[e._v("Option 2")]),t("a-select-option",{attrs:{value:3}},[e._v("Option 3")])],1)],1),t("a-form-item",{attrs:{labelCol:e.labelCol,wrapperCol:e.wrapperCol,label:"描述",hasFeedback:"",help:"请填写一段描述"}},[t("a-textarea",{directives:[{name:"decorator",rawName:"v-decorator",value:["description",{rules:[{required:!0}]}],expression:"['description', {rules: [{ required: true }]}]"}],attrs:{rows:5,placeholder:"..."}})],1),t("a-form-item",{attrs:{labelCol:e.labelCol,wrapperCol:e.wrapperCol,label:"更新时间",hasFeedback:"",validateStatus:"error"}},[t("a-date-picker",{directives:[{name:"decorator",rawName:"v-decorator",value:["updatedAt"],expression:"['updatedAt']"}],staticStyle:{width:"100%"},attrs:{showTime:"",format:"YYYY-MM-DD HH:mm:ss",placeholder:"Select Time"}})],1),t("a-form-item",e._b({},"a-form-item",e.buttonCol,!1),[t("a-row",[t("a-col",{attrs:{span:"6"}},[t("a-button",{attrs:{type:"primary","html-type":"submit"}},[e._v("提交")])],1),t("a-col",{attrs:{span:"10"}},[t("a-button",{on:{click:e.handleGoBack}},[e._v("返回")])],1),t("a-col",{attrs:{span:"8"}})],1)],1)],1)],1)},s=[],n=(a("d3b7"),a("c1df")),o=a.n(n),i=a("88bc"),l=a.n(i),u={name:"TableEdit",props:{record:{type:[Object,String],default:""}},data:function(){return{labelCol:{xs:{span:24},sm:{span:5}},wrapperCol:{xs:{span:24},sm:{span:12}},buttonCol:{wrapperCol:{xs:{span:24},sm:{span:12,offset:5}}},form:this.$form.createForm(this),id:0}},mounted:function(){var e=this;this.$nextTick((function(){e.loadEditInfo(e.record)}))},methods:{handleGoBack:function(){this.$emit("onGoBack")},handleSubmit:function(){var e=this.form.validateFields;e((function(e,t){}))},handleGetInfo:function(){},loadEditInfo:function(e){var t=this.form;new Promise((function(e){setTimeout(e,1500)})).then((function(){var a=l()(e,["no","callNo","status","description","updatedAt"]);a.updatedAt=o()(e.updatedAt),t.setFieldsValue(a)}))}}},c=u,d=a("2877"),m=Object(d["a"])(c,r,s,!1,null,null,null);t["a"]=m.exports},"88bc":function(e,t,a){(function(t){var a=1/0,r=9007199254740991,s="[object Arguments]",n="[object Function]",o="[object GeneratorFunction]",i="[object Symbol]",l="object"==typeof t&&t&&t.Object===Object&&t,u="object"==typeof self&&self&&self.Object===Object&&self,c=l||u||Function("return this")();function d(e,t,a){switch(a.length){case 0:return e.call(t);case 1:return e.call(t,a[0]);case 2:return e.call(t,a[0],a[1]);case 3:return e.call(t,a[0],a[1],a[2])}return e.apply(t,a)}function m(e,t){var a=-1,r=e?e.length:0,s=Array(r);while(++a0&&a(i)?t>1?N(i,t-1,a,r,s):f(s,i):r||(s[s.length]=i)}return s}function S(e,t){return e=Object(e),x(e,t,(function(t,a){return a in e}))}function x(e,t,a){var r=-1,s=t.length,n={};while(++r-1&&e%1==0&&e<=r}function T(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function F(e){return!!e&&"object"==typeof e}function L(e){return"symbol"==typeof e||F(e)&&v.call(e)==i}var P=k((function(e,t){return null==e?{}:S(e,m(N(t,1),C))}));e.exports=P}).call(this,a("c8ba"))},"9d75":function(e,t,a){"use strict";a.r(t);var r=function(){var e=this,t=e._self._c;return t("a-card",{attrs:{bordered:!1}},[t("div",{staticClass:"table-page-search-wrapper"},[t("a-form",{attrs:{layout:"inline"}},[t("a-row",{attrs:{gutter:48}},[t("a-col",{attrs:{md:8,sm:24}},[t("a-form-item",{attrs:{label:"组名称"}},[t("a-select",{attrs:{placeholder:"请输入组名称"},on:{change:function(t){return e.handleChange(t)}},model:{value:e.queryParam.groupName,callback:function(t){e.$set(e.queryParam,"groupName",t)},expression:"queryParam.groupName"}},e._l(e.groupNameList,(function(a){return t("a-select-option",{key:a,attrs:{value:a}},[e._v(e._s(a))])})),1)],1)],1),t("a-col",{attrs:{md:8,sm:24}},[t("a-form-item",{attrs:{label:"场景名称"}},[t("a-select",{attrs:{placeholder:"请选择场景名称",allowClear:""},model:{value:e.queryParam.sceneName,callback:function(t){e.$set(e.queryParam,"sceneName",t)},expression:"queryParam.sceneName"}},e._l(e.sceneList,(function(a){return t("a-select-option",{key:a.sceneName,attrs:{value:a.sceneName}},[e._v(" "+e._s(a.sceneName))])})),1)],1)],1),t("a-col",{attrs:{md:8,sm:24}},[t("a-form-item",{attrs:{label:"重试状态"}},[t("a-select",{attrs:{placeholder:"请选择状态",allowClear:""},model:{value:e.queryParam.retryStatus,callback:function(t){e.$set(e.queryParam,"retryStatus",t)},expression:"queryParam.retryStatus"}},e._l(e.retryStatus,(function(a,r){return t("a-select-option",{key:r,attrs:{value:r}},[e._v(" "+e._s(a))])})),1)],1)],1),e.advanced?[t("a-col",{attrs:{md:8,sm:24}},[t("a-form-item",{attrs:{label:"业务编号"}},[t("a-input",{attrs:{placeholder:"请输入业务编号",allowClear:""},model:{value:e.queryParam.bizNo,callback:function(t){e.$set(e.queryParam,"bizNo",t)},expression:"queryParam.bizNo"}})],1)],1),t("a-col",{attrs:{md:8,sm:24}},[t("a-form-item",{attrs:{label:"业务id"}},[t("a-input",{attrs:{placeholder:"请输入业务id",allowClear:""},model:{value:e.queryParam.bizId,callback:function(t){e.$set(e.queryParam,"bizId",t)},expression:"queryParam.bizId"}})],1)],1)]:e._e(),t("a-col",{attrs:{md:e.advanced?24:8,sm:24}},[t("span",{staticClass:"table-page-search-submitButtons",style:e.advanced&&{float:"right",overflow:"hidden"}||{}},[t("a-button",{attrs:{type:"primary"},on:{click:function(t){return e.$refs.table.refresh(!0)}}},[e._v("查询")]),t("a-button",{staticStyle:{"margin-left":"8px"},on:{click:function(){return e.queryParam={}}}},[e._v("重置")]),t("a",{staticStyle:{"margin-left":"8px"},on:{click:e.toggleAdvanced}},[e._v(" "+e._s(e.advanced?"收起":"展开")+" "),t("a-icon",{attrs:{type:e.advanced?"up":"down"}})],1)],1)])],2)],1)],1),t("div",{staticClass:"table-operator"},[t("a-button",{attrs:{type:"primary",icon:"plus"},on:{click:function(t){return e.handleNew()}}},[e._v("新增")]),e.selectedRowKeys.length>0?t("a-dropdown",{directives:[{name:"action",rawName:"v-action:edit",arg:"edit"}]},[t("a-menu",{attrs:{slot:"overlay"},on:{click:e.onClick},slot:"overlay"},[t("a-menu-item",{key:"1"},[t("a-icon",{attrs:{type:"delete"}}),e._v("删除")],1),t("a-menu-item",{key:"2"},[t("a-icon",{attrs:{type:"edit"}}),e._v("更新")],1)],1),t("a-button",{staticStyle:{"margin-left":"8px"}},[e._v(" 批量操作 "),t("a-icon",{attrs:{type:"down"}})],1)],1):e._e()],1),t("s-table",{ref:"table",attrs:{size:"default",rowKey:function(e){return e.id},columns:e.columns,data:e.loadData,alert:e.options.alert,rowSelection:e.options.rowSelection,scroll:{x:2e3}},scopedSlots:e._u([{key:"serial",fn:function(a,r){return t("span",{},[e._v(" "+e._s(r.id)+" ")])}},{key:"action",fn:function(a,r){return t("span",{},[[t("a",{on:{click:function(t){return e.handleInfo(r)}}},[e._v("详情")]),t("a-divider",{attrs:{type:"vertical"}}),0===r.retryStatus?t("a",{on:{click:function(t){return e.handleSuspend(r)}}},[e._v("暂停")]):e._e(),0===r.retryStatus?t("a-divider",{attrs:{type:"vertical"}}):e._e(),3===r.retryStatus?t("a",{on:{click:function(t){return e.handleRecovery(r)}}},[e._v("恢复")]):e._e(),3===r.retryStatus?t("a-divider",{attrs:{type:"vertical"}}):e._e(),1!==r.retryStatus?t("a",{on:{click:function(t){return e.handleFinish(r)}}},[e._v("完成")]):e._e(),1!==r.retryStatus?t("a-divider",{attrs:{type:"vertical"}}):e._e()]],2)}}])}),t("SaveRetryTask",{ref:"saveRetryTask",on:{refreshTable:e.refreshTable}}),t("BatchUpdateRetryTaskInfo",{ref:"batchUpdateRetryTaskInfo",on:{refreshTable:e.refreshTable}})],1)},s=[],n=a("261e"),o=a("27e3"),i=a("16f7"),l=a("0fea"),u=a("2af9"),c=function(){var e=this,t=e._self._c;return t("div",[t("a-modal",{attrs:{visible:e.visible,title:"新增任务",width:"800px"},on:{ok:e.handleOk,cancel:function(t){e.visible=!1}}},[t("a-form",e._b({attrs:{form:e.form},on:{submit:e.handleOk}},"a-form",e.formItemLayout,!1),[t("a-form-item",{attrs:{label:"组"}},[t("a-select",{directives:[{name:"decorator",rawName:"v-decorator",value:["groupName",{rules:[{required:!0,message:"请选择组"}]}],expression:"['groupName', { rules: [{ required: true, message: '请选择组' }] }]"}],attrs:{placeholder:"请选择组"},on:{change:function(t){return e.handleChange(t)}}},e._l(e.groupNameList,(function(a){return t("a-select-option",{key:a,attrs:{value:a}},[e._v(e._s(a))])})),1)],1),t("a-form-item",{attrs:{label:"场景名称"}},[t("a-select",{directives:[{name:"decorator",rawName:"v-decorator",value:["sceneName",{rules:[{required:!0,message:"请选择场景名称"}]}],expression:"['sceneName', { rules: [{ required: true, message: '请选择场景名称' }] }]"}],attrs:{placeholder:"请选择场景名称"}},e._l(e.sceneList,(function(a){return t("a-select-option",{key:a.sceneName,attrs:{value:a.sceneName}},[e._v(" "+e._s(a.sceneName))])})),1)],1),t("a-form-item",{attrs:{label:"执行器名称"}},[t("a-input",{directives:[{name:"decorator",rawName:"v-decorator",value:["executorName",{rules:[{required:!0,message:"请输入执行器名称"}]}],expression:"['executorName', { rules: [{ required: true, message: '请输入执行器名称' }] }]"}],attrs:{name:"executorName",placeholder:"请输入执行器名称"}})],1),t("a-form-item",{attrs:{label:"重试ID"}},[t("a-input",{directives:[{name:"decorator",rawName:"v-decorator",value:["bizId",{rules:[{required:!0,message:"请输入重试ID"}]}],expression:"['bizId', { rules: [{ required: true, message: '请输入重试ID' }] }]"}],attrs:{name:"bizId",placeholder:"请输入业务编号"}},[t("a-tooltip",{attrs:{slot:"suffix",title:"同一个场景下正在重试中的重试ID不能重复,若重复的重试ID在上报时会被幂等处理"},slot:"suffix"},[t("a-icon",{staticStyle:{color:"rgba(0, 0, 0, 0.45)"},attrs:{type:"info-circle"}})],1)],1),t("a-button",{staticStyle:{position:"absolute",margin:"3px 10px"},attrs:{type:"primary"},on:{click:e.bizIdGenerate}},[e._v(" 生成 ")])],1),t("a-form-item",{attrs:{label:"业务编号"}},[t("a-input",{directives:[{name:"decorator",rawName:"v-decorator",value:["bizNo",{rules:[{required:!1,message:"请输入业务编号"}]}],expression:"['bizNo', { rules: [{ required: false, message: '请输入业务编号' }] }]"}],attrs:{name:"bizNo",placeholder:"请输入业务编号"}},[t("a-tooltip",{attrs:{slot:"suffix",title:"具有业务特征的编号比如订单号、物流编号等"},slot:"suffix"},[t("a-icon",{staticStyle:{color:"rgba(0, 0, 0, 0.45)"},attrs:{type:"info-circle"}})],1)],1)],1),t("a-form-item",{attrs:{label:"重试状态"}},[t("a-select",{directives:[{name:"decorator",rawName:"v-decorator",value:["retryStatus",{rules:[{required:!0,message:"请选择重试状态"}]}],expression:"['retryStatus', { rules: [{ required: true, message: '请选择重试状态' }] }]"}],attrs:{placeholder:"请选择重试状态"}},e._l(e.retryStatus,(function(a,r){return t("a-select-option",{key:r,attrs:{value:r}},[e._v(" "+e._s(a))])})),1)],1),t("a-form-item",{attrs:{label:"参数"}},[t("a-textarea",{directives:[{name:"decorator",rawName:"v-decorator",value:["argsStr",{rules:[{required:!0,message:"请输入参数"}]}],expression:"['argsStr', { rules: [{ required: true, message: '请输入参数' }] }]"}],attrs:{rows:"4",placeholder:"请输入参数"}})],1)],1)],1)],1)},d=[],m={name:"SavRetryTask",props:{},data:function(){return{visible:!1,form:this.$form.createForm(this),formItemLayout:{labelCol:{lg:{span:6},sm:{span:7}},wrapperCol:{lg:{span:14},sm:{span:17}}},groupNameList:[],sceneList:[],retryStatus:{0:"重试中",1:"重试完成",2:"最大次数",3:"暂停"}}},methods:{handleOk:function(e){var t=this;e.preventDefault(),this.form.validateFields((function(e,a){e||Object(l["A"])(a).then((function(e){t.form.resetFields(),t.$message.success("新增任务成功"),t.visible=!1,t.$emit("refreshTable",1)}))}))},handleChange:function(e){var t=this;Object(l["s"])({groupName:e}).then((function(e){t.sceneList=e.data}))},isShow:function(e,t){var a=this;this.visible=e,Object(l["h"])().then((function(e){a.groupNameList=e.data}))},bizIdGenerate:function(){var e=this,t=this.form.getFieldValue("groupName"),a=this.form.getFieldValue("sceneName"),r=this.form.getFieldValue("executorName"),s=this.form.getFieldValue("argsStr");Object(l["c"])({groupName:t,sceneName:a,executorName:r,argsStr:s}).then((function(t){e.form.setFieldsValue({bizId:t.data})}))}}},f=m,p=a("2877"),h=Object(p["a"])(f,c,d,!1,null,"1b928eba",null),v=h.exports,b=function(){var e=this,t=e._self._c;return t("div",[t("a-modal",{attrs:{visible:e.visible,title:"批量更新",width:"800px"},on:{ok:e.handleOk,cancel:function(t){e.visible=!1}}},[t("a-form",e._b({attrs:{form:e.form},on:{submit:e.handleOk}},"a-form",e.formItemLayout,!1),[t("a-alert",{attrs:{message:"批量更新只根据选择的数据进行更新, 请操作前确认您的选择的数据是否正确?",banner:""}}),t("a-form-item",{attrs:{label:"执行器名称"}},[t("a-input",{directives:[{name:"decorator",rawName:"v-decorator",value:["executorName",{rules:[{required:!1,message:"请输入执行器名称"}]}],expression:"['executorName', { rules: [{ required: false, message: '请输入执行器名称' }] }]"}],attrs:{name:"executorName",placeholder:"请输入执行器名称"}})],1),t("a-form-item",{attrs:{label:"重试状态"}},[t("a-select",{directives:[{name:"decorator",rawName:"v-decorator",value:["retryStatus",{rules:[{required:!1,message:"请选择重试状态"}]}],expression:"['retryStatus', { rules: [{ required: false, message: '请选择重试状态' }] }]"}],attrs:{placeholder:"请选择重试状态"}},e._l(e.retryStatus,(function(a,r){return t("a-select-option",{key:r,attrs:{value:r}},[e._v(" "+e._s(a))])})),1)],1)],1)],1)],1)},y=[],g={name:"BatchUpdateRetryTaskInfo",props:{},data:function(){return{visible:!1,form:this.$form.createForm(this),formItemLayout:{labelCol:{lg:{span:6},sm:{span:7}},wrapperCol:{lg:{span:14},sm:{span:17}}},groupNameList:[],sceneList:[],retryStatus:{0:"重试中",1:"重试完成",2:"最大次数",3:"暂停"},groupName:"",ids:[]}},methods:{handleOk:function(e){var t=this;e.preventDefault(),this.form.validateFields((function(e,a){if(!e){if(void 0===a["executorName"]&&void 0===a["retryStatus"])return void t.$message.error("无需要更新的内容, 请填写任意一项");a["groupName"]=t.groupName,a["ids"]=t.ids,Object(l["b"])(a).then((function(e){t.$emit("refreshTable",1),t.form.resetFields(),t.$message.success("更新任务成功"),t.visible=!1}))}}))},isShow:function(e,t,a){this.visible=e,this.groupName=t[0].groupName,this.ids=a}}},w=g,N=Object(p["a"])(w,b,y,!1,null,"14d86acc",null),S=N.exports,x={name:"RetryTask",components:{AInput:o["a"],ATextarea:n["a"],Edit:i["a"],STable:u["j"],SaveRetryTask:v,BatchUpdateRetryTaskInfo:S},data:function(){var e=this;return{currentComponet:"List",record:"",mdl:{},visible:!1,advanced:!1,queryParam:{},retryStatus:{0:"重试中",1:"重试完成",2:"最大次数",3:"暂停"},columns:[{title:"ID",scopedSlots:{customRender:"serial"},fixed:"left"},{title:"组名称",dataIndex:"groupName",ellipsis:!0},{title:"场景名称",dataIndex:"sceneName"},{title:"业务id",dataIndex:"bizId"},{title:"业务编号",dataIndex:"bizNo"},{title:"下次触发时间",dataIndex:"nextTriggerAt",needTotal:!1},{title:"重试次数",dataIndex:"retryCount",sorter:!0},{title:"重试状态",dataIndex:"retryStatus",customRender:function(t){return e.retryStatus[t]}},{title:"更新时间",dataIndex:"updateDt",sorter:!0},{title:"操作",fixed:"right",dataIndex:"action",width:"150px",scopedSlots:{customRender:"action"}}],loadData:function(t){return Object(l["r"])(Object.assign(t,e.queryParam)).then((function(e){return e}))},selectedRowKeys:[],selectedRows:[],options:{alert:{show:!0,clear:function(){e.selectedRowKeys=[]}},rowSelection:{selectedRowKeys:this.selectedRowKeys,onChange:this.onSelectChange}},optionAlertShow:!1,groupNameList:[],sceneList:[]}},created:function(){var e=this;Object(l["h"])().then((function(t){e.groupNameList=t.data,null!==e.groupNameList&&e.groupNameList.length>0&&(e.queryParam["groupName"]=e.groupNameList[0],e.$refs.table.refresh(!0),e.handleChange(e.groupNameList[0]))}))},methods:{handleNew:function(){this.$refs.saveRetryTask.isShow(!0,null)},handleChange:function(e){var t=this;Object(l["s"])({groupName:e}).then((function(e){t.sceneList=e.data}))},toggleAdvanced:function(){this.advanced=!this.advanced},handleInfo:function(e){this.$router.push({path:"/retry-task/info",query:{id:e.id,groupName:e.groupName}})},handleOk:function(e){},handleSuspend:function(e){var t=this;Object(l["C"])({id:e.id,groupName:e.groupName,retryStatus:3}).then((function(e){var a=e.status;0===a?t.$message.error("暂停失败"):(t.$refs.table.refresh(!0),t.$message.success("暂停成功"))}))},handleRecovery:function(e){var t=this;Object(l["C"])({id:e.id,groupName:e.groupName,retryStatus:0}).then((function(e){var a=e.status;0===a?t.$message.error("恢复失败"):(t.$refs.table.refresh(!0),t.$message.success("恢复成功"))}))},handleFinish:function(e){var t=this;Object(l["C"])({id:e.id,groupName:e.groupName,retryStatus:1}).then((function(e){var a=e.status;0===a?t.$message.error("重试完成失败"):(t.$refs.table.refresh(!0),t.$message.success("重试完成成功"))}))},refreshTable:function(e){this.$refs.table.refresh(!0)},onSelectChange:function(e,t){this.selectedRowKeys=e,this.selectedRows=t},handlerDel:function(){this.$createElement;var e=this;this.$confirm({title:"您要删除这些数据吗?",content:function(e){return e("div",{style:"color:red;"},["删除后数据不可恢复,请确认!"])},onOk:function(){Object(l["a"])({groupName:e.selectedRows[0].groupName,ids:e.selectedRowKeys}).then((function(t){e.$refs.table.refresh(!0),e.$message.success("成功删除".concat(t.data,"条数据")),e.selectedRowKeys=[]}))},onCancel:function(){},class:"test"})},onClick:function(e){var t=e.key;"2"!==t?"1"===t&&this.handlerDel():this.$refs.batchUpdateRetryTaskInfo.isShow(!0,this.selectedRows,this.selectedRowKeys)}}},k=x,_=Object(p["a"])(k,r,s,!1,null,null,null);t["default"]=_.exports}}]); \ No newline at end of file diff --git a/easy-retry-server/src/main/resources/admin/js/chunk-77aaac2a.a8c64402.js b/easy-retry-server/src/main/resources/admin/js/chunk-77aaac2a.a8f6aa61.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/chunk-77aaac2a.a8c64402.js rename to easy-retry-server/src/main/resources/admin/js/chunk-77aaac2a.a8f6aa61.js diff --git a/easy-retry-server/src/main/resources/admin/js/chunk-bf3addda.365f48f3.js b/easy-retry-server/src/main/resources/admin/js/chunk-bf3addda.fece787c.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/chunk-bf3addda.365f48f3.js rename to easy-retry-server/src/main/resources/admin/js/chunk-bf3addda.fece787c.js diff --git a/easy-retry-server/src/main/resources/admin/js/fail.40283b49.js b/easy-retry-server/src/main/resources/admin/js/fail.f78b643f.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/fail.40283b49.js rename to easy-retry-server/src/main/resources/admin/js/fail.f78b643f.js diff --git a/easy-retry-server/src/main/resources/admin/js/user.a4cdfea5.js b/easy-retry-server/src/main/resources/admin/js/user.d6fd464c.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/user.a4cdfea5.js rename to easy-retry-server/src/main/resources/admin/js/user.d6fd464c.js diff --git a/example/log/sys.log b/example/log/sys.log new file mode 100644 index 000000000..8564042ed --- /dev/null +++ b/example/log/sys.log @@ -0,0 +1,2308 @@ +2023-05-01 16:13:16,759 INFO (StartupInfoLogger.java:55)- Starting RetryRegisterServiceTest using Java 11.0.11 on FLY-20160923SFF with PID 9040 (started by Administrator in H:\easy-retry\example) +2023-05-01 16:13:16,760 DEBUG (StartupInfoLogger.java:56)- Running with Spring Boot v2.5.6, Spring v5.3.12 +2023-05-01 16:13:16,760 INFO (SpringApplication.java:663)- The following profiles are active: dev +2023-05-01 16:13:17,554 DEBUG (MybatisPlusAutoConfiguration.java:295)- Searching for mappers annotated with @Mapper +2023-05-01 16:13:17,555 DEBUG (MybatisPlusAutoConfiguration.java:299)- Using auto-configuration base package 'com.example' +2023-05-01 16:13:18,362 DEBUG (HikariConfig.java:971)- Driver class com.mysql.jdbc.Driver found in Thread context class loader jdk.internal.loader.ClassLoaders$AppClassLoader@7b1d7fff +2023-05-01 16:13:18,946 DEBUG (Logger.java:49)- Parsed mapper file: 'file [H:\easy-retry\example\target\classes\mapper\SchoolMapper.xml]' +2023-05-01 16:13:18,996 DEBUG (Logger.java:49)- Parsed mapper file: 'file [H:\easy-retry\example\target\classes\mapper\SchoolStudentTeacherMapper.xml]' +2023-05-01 16:13:19,038 DEBUG (Logger.java:49)- Parsed mapper file: 'file [H:\easy-retry\example\target\classes\mapper\StudentMapper.xml]' +2023-05-01 16:13:19,075 DEBUG (Logger.java:49)- Parsed mapper file: 'file [H:\easy-retry\example\target\classes\mapper\TeacherMapper.xml]' +2023-05-01 16:13:21,416 DEBUG (MybatisPlusAutoConfiguration.java:338)- Not found configuration for registering mapper bean using @MapperScan, MapperFactoryBean and MapperScannerConfigurer. +2023-05-01 16:13:21,885 INFO (StartupInfoLogger.java:61)- Started RetryRegisterServiceTest in 5.82 seconds (JVM running for 7.181) +2023-05-01 16:13:21,887 INFO (StartListener.java:27)- EASY-RETRY-CLIENT-RETRY 启动 +2023-05-01 16:13:22,277 DEBUG (LogUtils.java:24)- channelRegistered +2023-05-01 16:13:22,298 DEBUG (LogUtils.java:24)- channelActive +2023-05-01 16:13:22,504 INFO (StartListener.java:29)- EASY-RETRY-CLIENT-RETRY 启动成功 +2023-05-01 16:13:22,929 DEBUG (LogUtils.java:24)- 进入 aop [04c3813b-37cb-42c5-981c-22653739a14f] +2023-05-01 16:13:22,938 DEBUG (LogUtils.java:24)- 开始进行重试 aop [04c3813b-37cb-42c5-981c-22653739a14f] +2023-05-01 16:13:22,957 DEBUG (SimpleEasyRetryListener.java:17)- ------> beforeRetry sceneName:[errorMethod1] executorClassName:[com.example.demo.RetryRegisterService] params:[["afaf8457-52cb-428c-9c21-162c340310d9"]] +2023-05-01 16:13:22,959 INFO (LogUtils.java:34)- 执行注解重试方法:com.aizuda.easy.retry.client.core.strategy.RetryAnnotationMethod,参数为:["afaf8457-52cb-428c-9c21-162c340310d9"] +2023-05-01 16:13:22,960 INFO (LogUtils.java:34)- 执行原重试方法:[com.example.demo.RetryRegisterService],参数为:[["afaf8457-52cb-428c-9c21-162c340310d9"]] +2023-05-01 16:13:22,960 DEBUG (LogUtils.java:24)- 进入 aop [da54e22d-103b-4c59-9e6c-1f9bd7426f6e] +2023-05-01 16:13:22,961 DEBUG (LogUtils.java:24)- 开始进行重试 aop [da54e22d-103b-4c59-9e6c-1f9bd7426f6e] +2023-05-01 16:13:22,961 INFO (LogUtils.java:34)- 校验不通过不开启重试 methodEntrance:[false] isRunning:[true] throwable:[false] isRetryFlow:[false] isRetryForStatusCode:[false] +2023-05-01 16:13:22,963 DEBUG (LogUtils.java:24)- aop 结果处理 traceId:[da54e22d-103b-4c59-9e6c-1f9bd7426f6e] result:[null] +java.lang.ArithmeticException: / by zero + at com.example.demo.RetryRegisterService.errorMethod1(RetryRegisterService.java:20) + at com.example.demo.RetryRegisterService$$FastClassBySpringCGLIB$$78e3b164.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.around(RetryAspect.java:76) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) + at com.example.demo.RetryRegisterService$$EnhancerBySpringCGLIB$$439af77a.errorMethod1() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:282) + at com.aizuda.easy.retry.client.core.strategy.RetryAnnotationMethod.doExecute(RetryAnnotationMethod.java:28) + at com.aizuda.easy.retry.client.core.executor.AbstractRetryExecutor.doExecute(AbstractRetryExecutor.java:32) + at com.aizuda.easy.retry.client.core.executor.AbstractRetryExecutor.execute(AbstractRetryExecutor.java:23) + at com.aizuda.easy.retry.client.core.strategy.LocalRetryStrategies.lambda$doGetCallable$2(LocalRetryStrategies.java:131) + at com.github.rholder.retry.AttemptTimeLimiters$NoAttemptTimeLimit.call(AttemptTimeLimiters.java:78) + at com.github.rholder.retry.Retryer.call(Retryer.java:160) + at com.aizuda.easy.retry.client.core.executor.GuavaRetryExecutor.call(GuavaRetryExecutor.java:45) + at com.aizuda.easy.retry.client.core.strategy.AbstractRetryStrategies.openRetry(AbstractRetryStrategies.java:59) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.openRetry(RetryAspect.java:132) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.doHandlerRetry(RetryAspect.java:125) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.around(RetryAspect.java:83) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) + at com.example.demo.RetryRegisterService$$EnhancerBySpringCGLIB$$439af77a.errorMethod1() + at com.example.RetryRegisterServiceTest.errorMethod1(RetryRegisterServiceTest.java:30) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:688) + at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) + at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84) + at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) + at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:210) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:206) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:131) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:65) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:108) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:96) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:75) + at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71) + at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33) + at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) + at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) +2023-05-01 16:13:22,966 ERROR (LogUtils.java:43)- easy-retry 本地重试,第[1]次调度 +2023-05-01 16:13:24,967 INFO (LogUtils.java:34)- 执行注解重试方法:com.aizuda.easy.retry.client.core.strategy.RetryAnnotationMethod,参数为:["afaf8457-52cb-428c-9c21-162c340310d9"] +2023-05-01 16:13:24,968 INFO (LogUtils.java:34)- 执行原重试方法:[com.example.demo.RetryRegisterService],参数为:[["afaf8457-52cb-428c-9c21-162c340310d9"]] +2023-05-01 16:13:24,968 DEBUG (LogUtils.java:24)- 进入 aop [4c6807d2-3707-49a7-8e87-44100bd37f8f] +2023-05-01 16:13:24,968 DEBUG (LogUtils.java:24)- 开始进行重试 aop [4c6807d2-3707-49a7-8e87-44100bd37f8f] +2023-05-01 16:13:24,969 INFO (LogUtils.java:34)- 校验不通过不开启重试 methodEntrance:[false] isRunning:[true] throwable:[false] isRetryFlow:[false] isRetryForStatusCode:[false] +2023-05-01 16:13:24,969 DEBUG (LogUtils.java:24)- aop 结果处理 traceId:[4c6807d2-3707-49a7-8e87-44100bd37f8f] result:[null] +java.lang.ArithmeticException: / by zero + at com.example.demo.RetryRegisterService.errorMethod1(RetryRegisterService.java:20) + at com.example.demo.RetryRegisterService$$FastClassBySpringCGLIB$$78e3b164.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.around(RetryAspect.java:76) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) + at com.example.demo.RetryRegisterService$$EnhancerBySpringCGLIB$$439af77a.errorMethod1() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:282) + at com.aizuda.easy.retry.client.core.strategy.RetryAnnotationMethod.doExecute(RetryAnnotationMethod.java:28) + at com.aizuda.easy.retry.client.core.executor.AbstractRetryExecutor.doExecute(AbstractRetryExecutor.java:32) + at com.aizuda.easy.retry.client.core.executor.AbstractRetryExecutor.execute(AbstractRetryExecutor.java:23) + at com.aizuda.easy.retry.client.core.strategy.LocalRetryStrategies.lambda$doGetCallable$2(LocalRetryStrategies.java:131) + at com.github.rholder.retry.AttemptTimeLimiters$NoAttemptTimeLimit.call(AttemptTimeLimiters.java:78) + at com.github.rholder.retry.Retryer.call(Retryer.java:160) + at com.aizuda.easy.retry.client.core.executor.GuavaRetryExecutor.call(GuavaRetryExecutor.java:45) + at com.aizuda.easy.retry.client.core.strategy.AbstractRetryStrategies.openRetry(AbstractRetryStrategies.java:59) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.openRetry(RetryAspect.java:132) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.doHandlerRetry(RetryAspect.java:125) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.around(RetryAspect.java:83) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) + at com.example.demo.RetryRegisterService$$EnhancerBySpringCGLIB$$439af77a.errorMethod1() + at com.example.RetryRegisterServiceTest.errorMethod1(RetryRegisterServiceTest.java:30) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:688) + at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) + at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84) + at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) + at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:210) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:206) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:131) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:65) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:108) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:96) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:75) + at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71) + at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33) + at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) + at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) +2023-05-01 16:13:24,970 ERROR (LogUtils.java:43)- easy-retry 本地重试,第[2]次调度 +2023-05-01 16:13:26,970 INFO (LogUtils.java:34)- 执行注解重试方法:com.aizuda.easy.retry.client.core.strategy.RetryAnnotationMethod,参数为:["afaf8457-52cb-428c-9c21-162c340310d9"] +2023-05-01 16:13:26,971 INFO (LogUtils.java:34)- 执行原重试方法:[com.example.demo.RetryRegisterService],参数为:[["afaf8457-52cb-428c-9c21-162c340310d9"]] +2023-05-01 16:13:26,971 DEBUG (LogUtils.java:24)- 进入 aop [0c42c63c-7678-462e-b51e-21a10b6e43af] +2023-05-01 16:13:26,971 DEBUG (LogUtils.java:24)- 开始进行重试 aop [0c42c63c-7678-462e-b51e-21a10b6e43af] +2023-05-01 16:13:26,971 INFO (LogUtils.java:34)- 校验不通过不开启重试 methodEntrance:[false] isRunning:[true] throwable:[false] isRetryFlow:[false] isRetryForStatusCode:[false] +2023-05-01 16:13:26,972 DEBUG (LogUtils.java:24)- aop 结果处理 traceId:[0c42c63c-7678-462e-b51e-21a10b6e43af] result:[null] +java.lang.ArithmeticException: / by zero + at com.example.demo.RetryRegisterService.errorMethod1(RetryRegisterService.java:20) + at com.example.demo.RetryRegisterService$$FastClassBySpringCGLIB$$78e3b164.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.around(RetryAspect.java:76) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) + at com.example.demo.RetryRegisterService$$EnhancerBySpringCGLIB$$439af77a.errorMethod1() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:282) + at com.aizuda.easy.retry.client.core.strategy.RetryAnnotationMethod.doExecute(RetryAnnotationMethod.java:28) + at com.aizuda.easy.retry.client.core.executor.AbstractRetryExecutor.doExecute(AbstractRetryExecutor.java:32) + at com.aizuda.easy.retry.client.core.executor.AbstractRetryExecutor.execute(AbstractRetryExecutor.java:23) + at com.aizuda.easy.retry.client.core.strategy.LocalRetryStrategies.lambda$doGetCallable$2(LocalRetryStrategies.java:131) + at com.github.rholder.retry.AttemptTimeLimiters$NoAttemptTimeLimit.call(AttemptTimeLimiters.java:78) + at com.github.rholder.retry.Retryer.call(Retryer.java:160) + at com.aizuda.easy.retry.client.core.executor.GuavaRetryExecutor.call(GuavaRetryExecutor.java:45) + at com.aizuda.easy.retry.client.core.strategy.AbstractRetryStrategies.openRetry(AbstractRetryStrategies.java:59) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.openRetry(RetryAspect.java:132) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.doHandlerRetry(RetryAspect.java:125) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.around(RetryAspect.java:83) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) + at com.example.demo.RetryRegisterService$$EnhancerBySpringCGLIB$$439af77a.errorMethod1() + at com.example.RetryRegisterServiceTest.errorMethod1(RetryRegisterServiceTest.java:30) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:688) + at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) + at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84) + at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) + at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:210) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:206) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:131) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:65) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:108) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:96) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:75) + at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71) + at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33) + at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) + at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) +2023-05-01 16:13:26,977 ERROR (LogUtils.java:43)- easy-retry 本地重试,第[3]次调度 +2023-05-01 16:13:26,977 ERROR (LogUtils.java:52)- 业务系统重试异常: +java.lang.ArithmeticException: / by zero + at com.example.demo.RetryRegisterService.errorMethod1(RetryRegisterService.java:20) + at com.example.demo.RetryRegisterService$$FastClassBySpringCGLIB$$78e3b164.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.around(RetryAspect.java:76) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) + at com.example.demo.RetryRegisterService$$EnhancerBySpringCGLIB$$439af77a.errorMethod1() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:282) + at com.aizuda.easy.retry.client.core.strategy.RetryAnnotationMethod.doExecute(RetryAnnotationMethod.java:28) + at com.aizuda.easy.retry.client.core.executor.AbstractRetryExecutor.doExecute(AbstractRetryExecutor.java:32) + at com.aizuda.easy.retry.client.core.executor.AbstractRetryExecutor.execute(AbstractRetryExecutor.java:23) + at com.aizuda.easy.retry.client.core.strategy.LocalRetryStrategies.lambda$doGetCallable$2(LocalRetryStrategies.java:131) + at com.github.rholder.retry.AttemptTimeLimiters$NoAttemptTimeLimit.call(AttemptTimeLimiters.java:78) + at com.github.rholder.retry.Retryer.call(Retryer.java:160) + at com.aizuda.easy.retry.client.core.executor.GuavaRetryExecutor.call(GuavaRetryExecutor.java:45) + at com.aizuda.easy.retry.client.core.strategy.AbstractRetryStrategies.openRetry(AbstractRetryStrategies.java:59) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.openRetry(RetryAspect.java:132) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.doHandlerRetry(RetryAspect.java:125) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.around(RetryAspect.java:83) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) + at com.example.demo.RetryRegisterService$$EnhancerBySpringCGLIB$$439af77a.errorMethod1() + at com.example.RetryRegisterServiceTest.errorMethod1(RetryRegisterServiceTest.java:30) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:688) + at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) + at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84) + at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) + at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:210) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:206) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:131) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:65) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:108) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:96) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:75) + at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71) + at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33) + at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) + at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) +2023-05-01 16:13:26,988 DEBUG (SimpleEasyRetryListener.java:29)- ------> failureOnRetry sceneName:[errorMethod1] executorClassName:[com.example.demo.RetryRegisterService] +java.lang.ArithmeticException: / by zero + at com.example.demo.RetryRegisterService.errorMethod1(RetryRegisterService.java:20) + at com.example.demo.RetryRegisterService$$FastClassBySpringCGLIB$$78e3b164.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.around(RetryAspect.java:76) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) + at com.example.demo.RetryRegisterService$$EnhancerBySpringCGLIB$$439af77a.errorMethod1() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:282) + at com.aizuda.easy.retry.client.core.strategy.RetryAnnotationMethod.doExecute(RetryAnnotationMethod.java:28) + at com.aizuda.easy.retry.client.core.executor.AbstractRetryExecutor.doExecute(AbstractRetryExecutor.java:32) + at com.aizuda.easy.retry.client.core.executor.AbstractRetryExecutor.execute(AbstractRetryExecutor.java:23) + at com.aizuda.easy.retry.client.core.strategy.LocalRetryStrategies.lambda$doGetCallable$2(LocalRetryStrategies.java:131) + at com.github.rholder.retry.AttemptTimeLimiters$NoAttemptTimeLimit.call(AttemptTimeLimiters.java:78) + at com.github.rholder.retry.Retryer.call(Retryer.java:160) + at com.aizuda.easy.retry.client.core.executor.GuavaRetryExecutor.call(GuavaRetryExecutor.java:45) + at com.aizuda.easy.retry.client.core.strategy.AbstractRetryStrategies.openRetry(AbstractRetryStrategies.java:59) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.openRetry(RetryAspect.java:132) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.doHandlerRetry(RetryAspect.java:125) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.around(RetryAspect.java:83) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) + at com.example.demo.RetryRegisterService$$EnhancerBySpringCGLIB$$439af77a.errorMethod1() + at com.example.RetryRegisterServiceTest.errorMethod1(RetryRegisterServiceTest.java:30) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:688) + at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) + at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84) + at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) + at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:210) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:206) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:131) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:65) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:108) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:96) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:75) + at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71) + at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33) + at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) + at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) +2023-05-01 16:13:26,990 INFO (LocalRetryStrategies.java:96)- 内存重试完成且异常未被解决 scene:[errorMethod1] +2023-05-01 16:13:26,990 DEBUG (LocalRetryStrategies.java:100)- 上报 scene:[errorMethod1] +2023-05-01 16:13:27,049 INFO (LogUtils.java:34)- 本地重试结果 message:[RetryerResultContext(result=null, retryerInfo=RetryerInfo(scene=errorMethod1, executorClassName=com.example.demo.RetryRegisterService, include=[], exclude=[], executor=com.example.demo.RetryRegisterService@288b8663, executorMethod=public java.lang.String com.example.demo.RetryRegisterService.errorMethod1(java.lang.String), retryType=LOCAL_REMOTE, localTimes=3, localInterval=2, bizIdGenerate=class com.aizuda.easy.retry.client.core.generator.SimpleBizIdGenerate, bizNo=, retryMethod=class com.aizuda.easy.retry.client.core.strategy.RetryAnnotationMethod, isThrowException=true, retryCompleteCallback=class com.aizuda.easy.retry.client.core.callback.SimpleRetryCompleteCallback), retryResultStatusEnum=FAILURE, message=/ by zero, throwable=java.lang.ArithmeticException: / by zero)] +2023-05-01 16:13:27,050 DEBUG (LogUtils.java:24)- aop 结果处理 traceId:[04c3813b-37cb-42c5-981c-22653739a14f] result:[null] +java.lang.ArithmeticException: / by zero + at com.example.demo.RetryRegisterService.errorMethod1(RetryRegisterService.java:20) + at com.example.demo.RetryRegisterService$$FastClassBySpringCGLIB$$78e3b164.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.around(RetryAspect.java:76) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) + at com.example.demo.RetryRegisterService$$EnhancerBySpringCGLIB$$439af77a.errorMethod1() + at com.example.RetryRegisterServiceTest.errorMethod1(RetryRegisterServiceTest.java:30) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:688) + at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) + at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84) + at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) + at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:210) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:206) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:131) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:65) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:108) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:96) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:75) + at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71) + at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33) + at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) + at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) +2023-05-01 16:13:28,007 INFO (LogUtils.java:34)- 批量上报 +2023-05-01 16:13:28,016 ERROR (LogUtils.java:43)- easy-retry 上报成功,第[1]次调度 +2023-05-01 16:13:28,017 INFO (LogUtils.java:34)- 上报重试成功:[{"groupName":"example_group","sceneName":"errorMethod1","bizId":"39d5e0decc55a26c69ac60d0feffc98f","executorName":"com.example.demo.RetryRegisterService","bizNo":"","argsStr":"[\"afaf8457-52cb-428c-9c21-162c340310d9\"]"}] +2023-05-01 16:13:28,141 INFO (LogUtils.java:34)- 接收服务端返回数据content:[{"status":1,"message":"上报数据失败, 未查到场景配置 [RetryTaskDTO(groupName=example_group, sceneName=errorMethod1, bizId=39d5e0decc55a26c69ac60d0feffc98f, executorName=com.example.demo.RetryRegisterService, bizNo=, argsStr=[\"afaf8457-52cb-428c-9c21-162c340310d9\"], extAttrs=null)]","requestId":"f412c4e5-c4e7-4a77-af54-3a5e1c9ca639"}],headers:[DefaultHttpHeaders[content-type: application/json, connection: keep-alive, content-length: 348]] +2023-05-01 16:13:28,157 INFO (LogUtils.java:34)- 同步回调 +2023-05-01 16:13:28,157 DEBUG (LogUtils.java:24)- channelReadComplete +2023-05-01 16:13:58,174 DEBUG (LogUtils.java:24)- userEventTriggered +2023-05-01 16:13:58,196 INFO (LogUtils.java:34)- 接收服务端返回数据content:[{"status":1,"data":"PONG","requestId":"97184fd1-84bd-4a55-8e4c-75295aba88c3"}],headers:[DefaultHttpHeaders[content-type: application/json, connection: keep-alive, content-length: 77]] +2023-05-01 16:13:58,197 INFO (BeatHttpRequestHandler.java:39)- 心跳检查 nettyResult:[{"status":1,"data":"PONG","requestId":"97184fd1-84bd-4a55-8e4c-75295aba88c3"}] +2023-05-01 16:13:58,197 DEBUG (LogUtils.java:24)- channelReadComplete +2023-05-01 16:14:28,200 DEBUG (LogUtils.java:24)- userEventTriggered +2023-05-01 16:14:28,215 INFO (LogUtils.java:34)- 接收服务端返回数据content:[{"status":1,"data":"PONG","requestId":"4a565f64-ae3d-47b4-b8c8-97848cc6a839"}],headers:[DefaultHttpHeaders[content-type: application/json, connection: keep-alive, content-length: 77]] +2023-05-01 16:14:28,216 INFO (BeatHttpRequestHandler.java:39)- 心跳检查 nettyResult:[{"status":1,"data":"PONG","requestId":"4a565f64-ae3d-47b4-b8c8-97848cc6a839"}] +2023-05-01 16:14:28,216 DEBUG (LogUtils.java:24)- channelReadComplete +2023-05-01 16:14:38,550 INFO (StartupInfoLogger.java:55)- Starting RetryRegisterServiceTest using Java 11.0.11 on FLY-20160923SFF with PID 9076 (started by Administrator in H:\easy-retry\example) +2023-05-01 16:14:38,552 DEBUG (StartupInfoLogger.java:56)- Running with Spring Boot v2.5.6, Spring v5.3.12 +2023-05-01 16:14:38,553 INFO (SpringApplication.java:663)- The following profiles are active: dev +2023-05-01 16:14:39,438 DEBUG (MybatisPlusAutoConfiguration.java:295)- Searching for mappers annotated with @Mapper +2023-05-01 16:14:39,439 DEBUG (MybatisPlusAutoConfiguration.java:299)- Using auto-configuration base package 'com.example' +2023-05-01 16:14:40,228 DEBUG (HikariConfig.java:971)- Driver class com.mysql.jdbc.Driver found in Thread context class loader jdk.internal.loader.ClassLoaders$AppClassLoader@7b1d7fff +2023-05-01 16:14:40,855 DEBUG (Logger.java:49)- Parsed mapper file: 'file [H:\easy-retry\example\target\classes\mapper\SchoolMapper.xml]' +2023-05-01 16:14:40,914 DEBUG (Logger.java:49)- Parsed mapper file: 'file [H:\easy-retry\example\target\classes\mapper\SchoolStudentTeacherMapper.xml]' +2023-05-01 16:14:40,957 DEBUG (Logger.java:49)- Parsed mapper file: 'file [H:\easy-retry\example\target\classes\mapper\StudentMapper.xml]' +2023-05-01 16:14:40,998 DEBUG (Logger.java:49)- Parsed mapper file: 'file [H:\easy-retry\example\target\classes\mapper\TeacherMapper.xml]' +2023-05-01 16:14:43,483 DEBUG (MybatisPlusAutoConfiguration.java:338)- Not found configuration for registering mapper bean using @MapperScan, MapperFactoryBean and MapperScannerConfigurer. +2023-05-01 16:14:43,995 INFO (StartupInfoLogger.java:61)- Started RetryRegisterServiceTest in 6.231 seconds (JVM running for 7.479) +2023-05-01 16:14:43,997 INFO (StartListener.java:27)- EASY-RETRY-CLIENT-RETRY 启动 +2023-05-01 16:14:44,418 DEBUG (LogUtils.java:24)- channelRegistered +2023-05-01 16:14:44,433 DEBUG (LogUtils.java:24)- channelActive +2023-05-01 16:14:44,632 INFO (LogUtils.java:34)- 接收服务端返回数据content:[{"status":1,"data":"{\"notifyList\":[],\"sceneBlacklist\":[],\"version\":1}","requestId":"7f8a4ae9-bed1-4415-a6de-de72bf820ec4"}],headers:[DefaultHttpHeaders[content-type: application/json, connection: keep-alive, content-length: 128]] +2023-05-01 16:14:44,669 DEBUG (LogUtils.java:24)- channelReadComplete +2023-05-01 16:14:44,675 INFO (StartListener.java:29)- EASY-RETRY-CLIENT-RETRY 启动成功 +2023-05-01 16:14:45,019 DEBUG (LogUtils.java:24)- 进入 aop [e68550d5-e191-4ce2-86f8-1fcfd7c79d89] +2023-05-01 16:14:45,029 DEBUG (LogUtils.java:24)- 开始进行重试 aop [e68550d5-e191-4ce2-86f8-1fcfd7c79d89] +2023-05-01 16:14:45,045 DEBUG (SimpleEasyRetryListener.java:17)- ------> beforeRetry sceneName:[errorMethod1] executorClassName:[com.example.demo.RetryRegisterService] params:[["a3a27ffe-f238-4e68-9020-7cda183415e8"]] +2023-05-01 16:14:45,048 INFO (LogUtils.java:34)- 执行注解重试方法:com.aizuda.easy.retry.client.core.strategy.RetryAnnotationMethod,参数为:["a3a27ffe-f238-4e68-9020-7cda183415e8"] +2023-05-01 16:14:45,049 INFO (LogUtils.java:34)- 执行原重试方法:[com.example.demo.RetryRegisterService],参数为:[["a3a27ffe-f238-4e68-9020-7cda183415e8"]] +2023-05-01 16:14:45,050 DEBUG (LogUtils.java:24)- 进入 aop [c60ec1b8-9fdf-4ade-8e0b-f075c56259b3] +2023-05-01 16:14:45,050 DEBUG (LogUtils.java:24)- 开始进行重试 aop [c60ec1b8-9fdf-4ade-8e0b-f075c56259b3] +2023-05-01 16:14:45,051 INFO (LogUtils.java:34)- 校验不通过不开启重试 methodEntrance:[false] isRunning:[true] throwable:[false] isRetryFlow:[false] isRetryForStatusCode:[false] +2023-05-01 16:14:45,053 DEBUG (LogUtils.java:24)- aop 结果处理 traceId:[c60ec1b8-9fdf-4ade-8e0b-f075c56259b3] result:[null] +java.lang.ArithmeticException: / by zero + at com.example.demo.RetryRegisterService.errorMethod1(RetryRegisterService.java:20) + at com.example.demo.RetryRegisterService$$FastClassBySpringCGLIB$$78e3b164.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.around(RetryAspect.java:76) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) + at com.example.demo.RetryRegisterService$$EnhancerBySpringCGLIB$$1545c430.errorMethod1() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:282) + at com.aizuda.easy.retry.client.core.strategy.RetryAnnotationMethod.doExecute(RetryAnnotationMethod.java:28) + at com.aizuda.easy.retry.client.core.executor.AbstractRetryExecutor.doExecute(AbstractRetryExecutor.java:32) + at com.aizuda.easy.retry.client.core.executor.AbstractRetryExecutor.execute(AbstractRetryExecutor.java:23) + at com.aizuda.easy.retry.client.core.strategy.LocalRetryStrategies.lambda$doGetCallable$2(LocalRetryStrategies.java:131) + at com.github.rholder.retry.AttemptTimeLimiters$NoAttemptTimeLimit.call(AttemptTimeLimiters.java:78) + at com.github.rholder.retry.Retryer.call(Retryer.java:160) + at com.aizuda.easy.retry.client.core.executor.GuavaRetryExecutor.call(GuavaRetryExecutor.java:45) + at com.aizuda.easy.retry.client.core.strategy.AbstractRetryStrategies.openRetry(AbstractRetryStrategies.java:59) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.openRetry(RetryAspect.java:132) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.doHandlerRetry(RetryAspect.java:125) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.around(RetryAspect.java:83) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) + at com.example.demo.RetryRegisterService$$EnhancerBySpringCGLIB$$1545c430.errorMethod1() + at com.example.RetryRegisterServiceTest.errorMethod1(RetryRegisterServiceTest.java:30) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:688) + at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) + at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84) + at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) + at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:210) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:206) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:131) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:65) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:108) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:96) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:75) + at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71) + at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33) + at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) + at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) +2023-05-01 16:14:45,056 ERROR (LogUtils.java:43)- easy-retry 本地重试,第[1]次调度 +2023-05-01 16:14:47,057 INFO (LogUtils.java:34)- 执行注解重试方法:com.aizuda.easy.retry.client.core.strategy.RetryAnnotationMethod,参数为:["a3a27ffe-f238-4e68-9020-7cda183415e8"] +2023-05-01 16:14:47,057 INFO (LogUtils.java:34)- 执行原重试方法:[com.example.demo.RetryRegisterService],参数为:[["a3a27ffe-f238-4e68-9020-7cda183415e8"]] +2023-05-01 16:14:47,058 DEBUG (LogUtils.java:24)- 进入 aop [680efd28-362f-4b0e-8373-6dd0465ca5a2] +2023-05-01 16:14:47,058 DEBUG (LogUtils.java:24)- 开始进行重试 aop [680efd28-362f-4b0e-8373-6dd0465ca5a2] +2023-05-01 16:14:47,058 INFO (LogUtils.java:34)- 校验不通过不开启重试 methodEntrance:[false] isRunning:[true] throwable:[false] isRetryFlow:[false] isRetryForStatusCode:[false] +2023-05-01 16:14:47,058 DEBUG (LogUtils.java:24)- aop 结果处理 traceId:[680efd28-362f-4b0e-8373-6dd0465ca5a2] result:[null] +java.lang.ArithmeticException: / by zero + at com.example.demo.RetryRegisterService.errorMethod1(RetryRegisterService.java:20) + at com.example.demo.RetryRegisterService$$FastClassBySpringCGLIB$$78e3b164.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.around(RetryAspect.java:76) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) + at com.example.demo.RetryRegisterService$$EnhancerBySpringCGLIB$$1545c430.errorMethod1() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:282) + at com.aizuda.easy.retry.client.core.strategy.RetryAnnotationMethod.doExecute(RetryAnnotationMethod.java:28) + at com.aizuda.easy.retry.client.core.executor.AbstractRetryExecutor.doExecute(AbstractRetryExecutor.java:32) + at com.aizuda.easy.retry.client.core.executor.AbstractRetryExecutor.execute(AbstractRetryExecutor.java:23) + at com.aizuda.easy.retry.client.core.strategy.LocalRetryStrategies.lambda$doGetCallable$2(LocalRetryStrategies.java:131) + at com.github.rholder.retry.AttemptTimeLimiters$NoAttemptTimeLimit.call(AttemptTimeLimiters.java:78) + at com.github.rholder.retry.Retryer.call(Retryer.java:160) + at com.aizuda.easy.retry.client.core.executor.GuavaRetryExecutor.call(GuavaRetryExecutor.java:45) + at com.aizuda.easy.retry.client.core.strategy.AbstractRetryStrategies.openRetry(AbstractRetryStrategies.java:59) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.openRetry(RetryAspect.java:132) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.doHandlerRetry(RetryAspect.java:125) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.around(RetryAspect.java:83) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) + at com.example.demo.RetryRegisterService$$EnhancerBySpringCGLIB$$1545c430.errorMethod1() + at com.example.RetryRegisterServiceTest.errorMethod1(RetryRegisterServiceTest.java:30) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:688) + at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) + at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84) + at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) + at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:210) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:206) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:131) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:65) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:108) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:96) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:75) + at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71) + at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33) + at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) + at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) +2023-05-01 16:14:47,060 ERROR (LogUtils.java:43)- easy-retry 本地重试,第[2]次调度 +2023-05-01 16:14:49,060 INFO (LogUtils.java:34)- 执行注解重试方法:com.aizuda.easy.retry.client.core.strategy.RetryAnnotationMethod,参数为:["a3a27ffe-f238-4e68-9020-7cda183415e8"] +2023-05-01 16:14:49,060 INFO (LogUtils.java:34)- 执行原重试方法:[com.example.demo.RetryRegisterService],参数为:[["a3a27ffe-f238-4e68-9020-7cda183415e8"]] +2023-05-01 16:14:49,061 DEBUG (LogUtils.java:24)- 进入 aop [b1549518-4bb7-499c-bde4-2d3f46e3999a] +2023-05-01 16:14:49,061 DEBUG (LogUtils.java:24)- 开始进行重试 aop [b1549518-4bb7-499c-bde4-2d3f46e3999a] +2023-05-01 16:14:49,061 INFO (LogUtils.java:34)- 校验不通过不开启重试 methodEntrance:[false] isRunning:[true] throwable:[false] isRetryFlow:[false] isRetryForStatusCode:[false] +2023-05-01 16:14:49,062 DEBUG (LogUtils.java:24)- aop 结果处理 traceId:[b1549518-4bb7-499c-bde4-2d3f46e3999a] result:[null] +java.lang.ArithmeticException: / by zero + at com.example.demo.RetryRegisterService.errorMethod1(RetryRegisterService.java:20) + at com.example.demo.RetryRegisterService$$FastClassBySpringCGLIB$$78e3b164.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.around(RetryAspect.java:76) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) + at com.example.demo.RetryRegisterService$$EnhancerBySpringCGLIB$$1545c430.errorMethod1() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:282) + at com.aizuda.easy.retry.client.core.strategy.RetryAnnotationMethod.doExecute(RetryAnnotationMethod.java:28) + at com.aizuda.easy.retry.client.core.executor.AbstractRetryExecutor.doExecute(AbstractRetryExecutor.java:32) + at com.aizuda.easy.retry.client.core.executor.AbstractRetryExecutor.execute(AbstractRetryExecutor.java:23) + at com.aizuda.easy.retry.client.core.strategy.LocalRetryStrategies.lambda$doGetCallable$2(LocalRetryStrategies.java:131) + at com.github.rholder.retry.AttemptTimeLimiters$NoAttemptTimeLimit.call(AttemptTimeLimiters.java:78) + at com.github.rholder.retry.Retryer.call(Retryer.java:160) + at com.aizuda.easy.retry.client.core.executor.GuavaRetryExecutor.call(GuavaRetryExecutor.java:45) + at com.aizuda.easy.retry.client.core.strategy.AbstractRetryStrategies.openRetry(AbstractRetryStrategies.java:59) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.openRetry(RetryAspect.java:132) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.doHandlerRetry(RetryAspect.java:125) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.around(RetryAspect.java:83) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) + at com.example.demo.RetryRegisterService$$EnhancerBySpringCGLIB$$1545c430.errorMethod1() + at com.example.RetryRegisterServiceTest.errorMethod1(RetryRegisterServiceTest.java:30) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:688) + at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) + at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84) + at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) + at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:210) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:206) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:131) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:65) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:108) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:96) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:75) + at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71) + at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33) + at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) + at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) +2023-05-01 16:14:49,063 ERROR (LogUtils.java:43)- easy-retry 本地重试,第[3]次调度 +2023-05-01 16:14:49,064 ERROR (LogUtils.java:52)- 业务系统重试异常: +java.lang.ArithmeticException: / by zero + at com.example.demo.RetryRegisterService.errorMethod1(RetryRegisterService.java:20) + at com.example.demo.RetryRegisterService$$FastClassBySpringCGLIB$$78e3b164.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.around(RetryAspect.java:76) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) + at com.example.demo.RetryRegisterService$$EnhancerBySpringCGLIB$$1545c430.errorMethod1() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:282) + at com.aizuda.easy.retry.client.core.strategy.RetryAnnotationMethod.doExecute(RetryAnnotationMethod.java:28) + at com.aizuda.easy.retry.client.core.executor.AbstractRetryExecutor.doExecute(AbstractRetryExecutor.java:32) + at com.aizuda.easy.retry.client.core.executor.AbstractRetryExecutor.execute(AbstractRetryExecutor.java:23) + at com.aizuda.easy.retry.client.core.strategy.LocalRetryStrategies.lambda$doGetCallable$2(LocalRetryStrategies.java:131) + at com.github.rholder.retry.AttemptTimeLimiters$NoAttemptTimeLimit.call(AttemptTimeLimiters.java:78) + at com.github.rholder.retry.Retryer.call(Retryer.java:160) + at com.aizuda.easy.retry.client.core.executor.GuavaRetryExecutor.call(GuavaRetryExecutor.java:45) + at com.aizuda.easy.retry.client.core.strategy.AbstractRetryStrategies.openRetry(AbstractRetryStrategies.java:59) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.openRetry(RetryAspect.java:132) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.doHandlerRetry(RetryAspect.java:125) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.around(RetryAspect.java:83) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) + at com.example.demo.RetryRegisterService$$EnhancerBySpringCGLIB$$1545c430.errorMethod1() + at com.example.RetryRegisterServiceTest.errorMethod1(RetryRegisterServiceTest.java:30) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:688) + at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) + at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84) + at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) + at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:210) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:206) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:131) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:65) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:108) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:96) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:75) + at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71) + at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33) + at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) + at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) +2023-05-01 16:14:49,066 DEBUG (SimpleEasyRetryListener.java:29)- ------> failureOnRetry sceneName:[errorMethod1] executorClassName:[com.example.demo.RetryRegisterService] +java.lang.ArithmeticException: / by zero + at com.example.demo.RetryRegisterService.errorMethod1(RetryRegisterService.java:20) + at com.example.demo.RetryRegisterService$$FastClassBySpringCGLIB$$78e3b164.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.around(RetryAspect.java:76) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) + at com.example.demo.RetryRegisterService$$EnhancerBySpringCGLIB$$1545c430.errorMethod1() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:282) + at com.aizuda.easy.retry.client.core.strategy.RetryAnnotationMethod.doExecute(RetryAnnotationMethod.java:28) + at com.aizuda.easy.retry.client.core.executor.AbstractRetryExecutor.doExecute(AbstractRetryExecutor.java:32) + at com.aizuda.easy.retry.client.core.executor.AbstractRetryExecutor.execute(AbstractRetryExecutor.java:23) + at com.aizuda.easy.retry.client.core.strategy.LocalRetryStrategies.lambda$doGetCallable$2(LocalRetryStrategies.java:131) + at com.github.rholder.retry.AttemptTimeLimiters$NoAttemptTimeLimit.call(AttemptTimeLimiters.java:78) + at com.github.rholder.retry.Retryer.call(Retryer.java:160) + at com.aizuda.easy.retry.client.core.executor.GuavaRetryExecutor.call(GuavaRetryExecutor.java:45) + at com.aizuda.easy.retry.client.core.strategy.AbstractRetryStrategies.openRetry(AbstractRetryStrategies.java:59) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.openRetry(RetryAspect.java:132) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.doHandlerRetry(RetryAspect.java:125) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.around(RetryAspect.java:83) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) + at com.example.demo.RetryRegisterService$$EnhancerBySpringCGLIB$$1545c430.errorMethod1() + at com.example.RetryRegisterServiceTest.errorMethod1(RetryRegisterServiceTest.java:30) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:688) + at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) + at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84) + at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) + at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:210) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:206) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:131) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:65) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:108) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:96) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:75) + at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71) + at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33) + at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) + at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) +2023-05-01 16:14:49,067 INFO (LocalRetryStrategies.java:96)- 内存重试完成且异常未被解决 scene:[errorMethod1] +2023-05-01 16:14:49,068 DEBUG (LocalRetryStrategies.java:100)- 上报 scene:[errorMethod1] +2023-05-01 16:14:49,100 INFO (LogUtils.java:34)- 本地重试结果 message:[RetryerResultContext(result=null, retryerInfo=RetryerInfo(scene=errorMethod1, executorClassName=com.example.demo.RetryRegisterService, include=[], exclude=[], executor=com.example.demo.RetryRegisterService@288b8663, executorMethod=public java.lang.String com.example.demo.RetryRegisterService.errorMethod1(java.lang.String), retryType=LOCAL_REMOTE, localTimes=3, localInterval=2, bizIdGenerate=class com.aizuda.easy.retry.client.core.generator.SimpleBizIdGenerate, bizNo=, retryMethod=class com.aizuda.easy.retry.client.core.strategy.RetryAnnotationMethod, isThrowException=true, retryCompleteCallback=class com.aizuda.easy.retry.client.core.callback.SimpleRetryCompleteCallback), retryResultStatusEnum=FAILURE, message=/ by zero, throwable=java.lang.ArithmeticException: / by zero)] +2023-05-01 16:14:49,102 DEBUG (LogUtils.java:24)- aop 结果处理 traceId:[e68550d5-e191-4ce2-86f8-1fcfd7c79d89] result:[null] +java.lang.ArithmeticException: / by zero + at com.example.demo.RetryRegisterService.errorMethod1(RetryRegisterService.java:20) + at com.example.demo.RetryRegisterService$$FastClassBySpringCGLIB$$78e3b164.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.around(RetryAspect.java:76) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) + at com.example.demo.RetryRegisterService$$EnhancerBySpringCGLIB$$1545c430.errorMethod1() + at com.example.RetryRegisterServiceTest.errorMethod1(RetryRegisterServiceTest.java:30) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:688) + at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) + at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84) + at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) + at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:210) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:206) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:131) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:65) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:108) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:96) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:75) + at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71) + at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33) + at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) + at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) +2023-05-01 16:14:50,179 INFO (LogUtils.java:34)- 批量上报 +2023-05-01 16:14:50,200 ERROR (LogUtils.java:43)- easy-retry 上报成功,第[1]次调度 +2023-05-01 16:14:50,200 INFO (LogUtils.java:34)- 上报重试成功:[{"groupName":"example_group","sceneName":"errorMethod1","bizId":"06ed5fba854826b4b65946540c7dfcdd","executorName":"com.example.demo.RetryRegisterService","bizNo":"","argsStr":"[\"a3a27ffe-f238-4e68-9020-7cda183415e8\"]"}] +2023-05-01 16:14:50,300 INFO (LogUtils.java:34)- 接收服务端返回数据content:[{"status":1,"message":"批量上报重试数据处理成功","data":true,"requestId":"fef8b8e3-95f1-47eb-b72b-42923a8a50dd"}],headers:[DefaultHttpHeaders[content-type: application/json, connection: keep-alive, content-length: 124]] +2023-05-01 16:14:50,301 INFO (LogUtils.java:34)- 同步回调 +2023-05-01 16:14:50,301 DEBUG (LogUtils.java:24)- channelReadComplete +2023-05-01 16:15:20,305 DEBUG (LogUtils.java:24)- userEventTriggered +2023-05-01 16:15:20,330 INFO (LogUtils.java:34)- 接收服务端返回数据content:[{"status":1,"data":"PONG","requestId":"27c1f761-18c8-4320-a33d-7e6db1e49dea"}],headers:[DefaultHttpHeaders[content-type: application/json, connection: keep-alive, content-length: 77]] +2023-05-01 16:15:20,331 INFO (BeatHttpRequestHandler.java:39)- 心跳检查 nettyResult:[{"status":1,"data":"PONG","requestId":"27c1f761-18c8-4320-a33d-7e6db1e49dea"}] +2023-05-01 16:15:20,331 DEBUG (LogUtils.java:24)- channelReadComplete +2023-05-01 16:15:50,334 DEBUG (LogUtils.java:24)- userEventTriggered +2023-05-01 16:15:50,357 INFO (LogUtils.java:34)- 接收服务端返回数据content:[{"status":1,"data":"PONG","requestId":"e53da7a8-c3ac-43d2-9192-e6614b9bab51"}],headers:[DefaultHttpHeaders[content-type: application/json, connection: keep-alive, content-length: 77]] +2023-05-01 16:15:50,357 INFO (BeatHttpRequestHandler.java:39)- 心跳检查 nettyResult:[{"status":1,"data":"PONG","requestId":"e53da7a8-c3ac-43d2-9192-e6614b9bab51"}] +2023-05-01 16:15:50,357 DEBUG (LogUtils.java:24)- channelReadComplete +2023-05-01 16:16:19,141 INFO (EndListener.java:27)- EASY-RETRY-CLIENT 关闭 +2023-05-01 16:16:19,143 DEBUG (LogUtils.java:24)- channelInactive +2023-05-01 16:16:19,143 DEBUG (LogUtils.java:24)- channelUnregistered +2023-05-01 16:16:19,144 INFO (EndListener.java:29)- EASY-RETRY-CLIENT 关闭成功 +2023-05-01 20:07:54,302 INFO (StartupInfoLogger.java:55)- Starting TestRetryStrategyServiceTest using Java 11.0.11 on FLY-20160923SFF with PID 7444 (started by Administrator in H:\easy-retry\example) +2023-05-01 20:07:54,304 DEBUG (StartupInfoLogger.java:56)- Running with Spring Boot v2.5.6, Spring v5.3.12 +2023-05-01 20:07:54,304 INFO (SpringApplication.java:663)- The following profiles are active: dev +2023-05-01 20:07:55,117 DEBUG (MybatisPlusAutoConfiguration.java:295)- Searching for mappers annotated with @Mapper +2023-05-01 20:07:55,118 DEBUG (MybatisPlusAutoConfiguration.java:299)- Using auto-configuration base package 'com.example' +2023-05-01 20:07:55,960 DEBUG (HikariConfig.java:971)- Driver class com.mysql.jdbc.Driver found in Thread context class loader jdk.internal.loader.ClassLoaders$AppClassLoader@7b1d7fff +2023-05-01 20:07:56,530 DEBUG (Logger.java:49)- Parsed mapper file: 'file [H:\easy-retry\example\target\classes\mapper\SchoolMapper.xml]' +2023-05-01 20:07:56,569 DEBUG (Logger.java:49)- Parsed mapper file: 'file [H:\easy-retry\example\target\classes\mapper\SchoolStudentTeacherMapper.xml]' +2023-05-01 20:07:56,606 DEBUG (Logger.java:49)- Parsed mapper file: 'file [H:\easy-retry\example\target\classes\mapper\StudentMapper.xml]' +2023-05-01 20:07:56,634 DEBUG (Logger.java:49)- Parsed mapper file: 'file [H:\easy-retry\example\target\classes\mapper\TeacherMapper.xml]' +2023-05-01 20:07:59,022 DEBUG (MybatisPlusAutoConfiguration.java:338)- Not found configuration for registering mapper bean using @MapperScan, MapperFactoryBean and MapperScannerConfigurer. +2023-05-01 20:07:59,495 INFO (StartupInfoLogger.java:61)- Started TestRetryStrategyServiceTest in 5.864 seconds (JVM running for 7.266) +2023-05-01 20:07:59,497 INFO (StartListener.java:27)- EASY-RETRY-CLIENT-RETRY 启动 +2023-05-01 20:07:59,883 DEBUG (LogUtils.java:24)- channelRegistered +2023-05-01 20:07:59,887 DEBUG (LogUtils.java:24)- channelActive +2023-05-01 20:08:00,118 INFO (StartListener.java:29)- EASY-RETRY-CLIENT-RETRY 启动成功 +2023-05-01 20:08:00,439 DEBUG (LogUtils.java:24)- 进入 aop [9aa47036-93b7-4f5c-8b85-abc6780a8e69] +2023-05-01 20:08:00,448 DEBUG (LogUtils.java:24)- 开始进行重试 aop [9aa47036-93b7-4f5c-8b85-abc6780a8e69] +2023-05-01 20:08:00,464 DEBUG (SimpleEasyRetryListener.java:17)- ------> beforeRetry sceneName:[errorMethodForOnlyRemote] executorClassName:[com.example.demo.TestRetryStrategyService] params:[["e8ff0ae8-814b-47ce-9e25-211c7bbad2b1"]] +2023-05-01 20:08:00,465 DEBUG (LocalRetryStrategies.java:136)- 上报 scene:[errorMethodForOnlyRemote] +2023-05-01 20:08:00,536 ERROR (LogUtils.java:43)- easy-retry 本地重试,第[1]次调度 +2023-05-01 20:08:00,537 DEBUG (SimpleEasyRetryListener.java:23)- ------> successOnRetry sceneName:[errorMethodForOnlyRemote] executorClassName:[com.example.demo.TestRetryStrategyService] result:[null] +2023-05-01 20:08:00,538 DEBUG (LogUtils.java:24)- doRetrySuccessConsumer 重试成功 +2023-05-01 20:08:00,538 INFO (LogUtils.java:34)- 本地重试结果 message:[RetryerResultContext(result=null, retryerInfo=RetryerInfo(scene=errorMethodForOnlyRemote, executorClassName=com.example.demo.TestRetryStrategyService, include=[], exclude=[], executor=com.example.demo.TestRetryStrategyService@29c21acb, executorMethod=public java.lang.String com.example.demo.TestRetryStrategyService.errorMethodForOnlyRemote(java.lang.String), retryType=ONLY_REMOTE, localTimes=3, localInterval=2, bizIdGenerate=class com.aizuda.easy.retry.client.core.generator.SimpleBizIdGenerate, bizNo=#name, retryMethod=class com.aizuda.easy.retry.client.core.strategy.RetryAnnotationMethod, isThrowException=true, retryCompleteCallback=class com.aizuda.easy.retry.client.core.callback.SimpleRetryCompleteCallback), retryResultStatusEnum=SUCCESS, message=null, throwable=null)] +2023-05-01 20:08:00,539 DEBUG (LogUtils.java:24)- aop 结果成功 traceId:[9aa47036-93b7-4f5c-8b85-abc6780a8e69] result:[null] +2023-05-01 20:08:00,541 DEBUG (LogUtils.java:24)- aop 结果处理 traceId:[9aa47036-93b7-4f5c-8b85-abc6780a8e69] result:[null] +java.lang.ArithmeticException: / by zero + at com.example.demo.TestRetryStrategyService.errorMethodForOnlyRemote(TestRetryStrategyService.java:42) + at com.example.demo.TestRetryStrategyService$$FastClassBySpringCGLIB$$8df2d146.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.around(RetryAspect.java:76) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) + at com.example.demo.TestRetryStrategyService$$EnhancerBySpringCGLIB$$3e2a45bf.errorMethodForOnlyRemote() + at com.example.TestRetryStrategyServiceTest.errorMethodForOnlyRemote(TestRetryStrategyServiceTest.java:29) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:688) + at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) + at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84) + at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) + at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:210) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:206) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:131) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:65) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:108) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:96) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:75) + at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71) + at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33) + at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) + at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) +2023-05-01 20:08:01,520 INFO (LogUtils.java:34)- 批量上报 +2023-05-01 20:08:01,529 ERROR (LogUtils.java:43)- easy-retry 上报成功,第[1]次调度 +2023-05-01 20:08:01,530 INFO (LogUtils.java:34)- 上报重试成功:[{"groupName":"example_group","sceneName":"errorMethodForOnlyRemote","bizId":"b1554ee1c32958ec0a0d56d7f2aaad03","executorName":"com.example.demo.TestRetryStrategyService","bizNo":"e8ff0ae8-814b-47ce-9e25-211c7bbad2b1","argsStr":"[\"e8ff0ae8-814b-47ce-9e25-211c7bbad2b1\"]"}] +2023-05-01 20:08:01,596 INFO (LogUtils.java:34)- 接收服务端返回数据content:[{"status":1,"message":"上报数据失败, 未查到场景配置 [RetryTaskDTO(groupName=example_group, sceneName=errorMethodForOnlyRemote, bizId=b1554ee1c32958ec0a0d56d7f2aaad03, executorName=com.example.demo.TestRetryStrategyService, bizNo=e8ff0ae8-814b-47ce-9e25-211c7bbad2b1, argsStr=[\"e8ff0ae8-814b-47ce-9e25-211c7bbad2b1\"], extAttrs=null)]","requestId":"670a4100-353d-4c5f-b3a3-0d3070a8953f"}],headers:[DefaultHttpHeaders[content-type: application/json, connection: keep-alive, content-length: 400]] +2023-05-01 20:08:01,610 INFO (LogUtils.java:34)- 同步回调 +2023-05-01 20:08:01,611 DEBUG (LogUtils.java:24)- channelReadComplete +2023-05-01 20:12:36,294 INFO (StartupInfoLogger.java:55)- Starting RetryRegisterServiceTest using Java 11.0.11 on FLY-20160923SFF with PID 9944 (started by Administrator in H:\easy-retry\example) +2023-05-01 20:12:36,295 DEBUG (StartupInfoLogger.java:56)- Running with Spring Boot v2.5.6, Spring v5.3.12 +2023-05-01 20:12:36,296 INFO (SpringApplication.java:663)- The following profiles are active: dev +2023-05-01 20:12:37,114 DEBUG (MybatisPlusAutoConfiguration.java:295)- Searching for mappers annotated with @Mapper +2023-05-01 20:12:37,115 DEBUG (MybatisPlusAutoConfiguration.java:299)- Using auto-configuration base package 'com.example' +2023-05-01 20:12:37,915 DEBUG (HikariConfig.java:971)- Driver class com.mysql.jdbc.Driver found in Thread context class loader jdk.internal.loader.ClassLoaders$AppClassLoader@7b1d7fff +2023-05-01 20:12:38,468 DEBUG (Logger.java:49)- Parsed mapper file: 'file [H:\easy-retry\example\target\classes\mapper\SchoolMapper.xml]' +2023-05-01 20:12:38,518 DEBUG (Logger.java:49)- Parsed mapper file: 'file [H:\easy-retry\example\target\classes\mapper\SchoolStudentTeacherMapper.xml]' +2023-05-01 20:12:38,559 DEBUG (Logger.java:49)- Parsed mapper file: 'file [H:\easy-retry\example\target\classes\mapper\StudentMapper.xml]' +2023-05-01 20:12:38,601 DEBUG (Logger.java:49)- Parsed mapper file: 'file [H:\easy-retry\example\target\classes\mapper\TeacherMapper.xml]' +2023-05-01 20:12:41,018 DEBUG (MybatisPlusAutoConfiguration.java:338)- Not found configuration for registering mapper bean using @MapperScan, MapperFactoryBean and MapperScannerConfigurer. +2023-05-01 20:12:41,530 INFO (StartupInfoLogger.java:61)- Started RetryRegisterServiceTest in 5.952 seconds (JVM running for 7.167) +2023-05-01 20:12:41,533 INFO (StartListener.java:27)- EASY-RETRY-CLIENT-RETRY 启动 +2023-05-01 20:12:41,912 DEBUG (LogUtils.java:24)- channelRegistered +2023-05-01 20:12:41,917 DEBUG (LogUtils.java:24)- channelActive +2023-05-01 20:12:42,064 INFO (LogUtils.java:34)- 接收服务端返回数据content:[{"status":1,"data":"{\"notifyList\":[],\"sceneBlacklist\":[],\"version\":1}","requestId":"80f1c461-0fc2-4a65-8749-29a3a1700d18"}],headers:[DefaultHttpHeaders[content-type: application/json, connection: keep-alive, content-length: 128]] +2023-05-01 20:12:42,091 DEBUG (LogUtils.java:24)- channelReadComplete +2023-05-01 20:12:42,148 INFO (StartListener.java:29)- EASY-RETRY-CLIENT-RETRY 启动成功 +2023-05-01 20:12:42,467 DEBUG (LogUtils.java:24)- 进入 aop [42cc1ad7-5991-4111-938c-633958797b88] +2023-05-01 20:12:42,477 DEBUG (LogUtils.java:24)- 开始进行重试 aop [42cc1ad7-5991-4111-938c-633958797b88] +2023-05-01 20:12:42,495 DEBUG (SimpleEasyRetryListener.java:17)- ------> beforeRetry sceneName:[errorMethod1] executorClassName:[com.example.demo.RetryRegisterService] params:[["07daeebe-7311-4011-be6f-ffe52098d59d"]] +2023-05-01 20:12:42,497 INFO (LogUtils.java:34)- 执行注解重试方法:com.aizuda.easy.retry.client.core.strategy.RetryAnnotationMethod,参数为:["07daeebe-7311-4011-be6f-ffe52098d59d"] +2023-05-01 20:12:42,498 INFO (LogUtils.java:34)- 执行原重试方法:[com.example.demo.RetryRegisterService],参数为:[["07daeebe-7311-4011-be6f-ffe52098d59d"]] +2023-05-01 20:12:42,498 DEBUG (LogUtils.java:24)- 进入 aop [b3ded180-3f67-46e4-9955-1ff711429663] +2023-05-01 20:12:42,498 DEBUG (LogUtils.java:24)- 开始进行重试 aop [b3ded180-3f67-46e4-9955-1ff711429663] +2023-05-01 20:12:42,499 INFO (LogUtils.java:34)- 校验不通过不开启重试 methodEntrance:[false] isRunning:[true] throwable:[false] isRetryFlow:[false] isRetryForStatusCode:[false] +2023-05-01 20:12:42,500 DEBUG (LogUtils.java:24)- aop 结果处理 traceId:[b3ded180-3f67-46e4-9955-1ff711429663] result:[null] +java.lang.ArithmeticException: / by zero + at com.example.demo.RetryRegisterService.errorMethod1(RetryRegisterService.java:20) + at com.example.demo.RetryRegisterService$$FastClassBySpringCGLIB$$78e3b164.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.around(RetryAspect.java:76) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) + at com.example.demo.RetryRegisterService$$EnhancerBySpringCGLIB$$3b82a583.errorMethod1() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:282) + at com.aizuda.easy.retry.client.core.strategy.RetryAnnotationMethod.doExecute(RetryAnnotationMethod.java:28) + at com.aizuda.easy.retry.client.core.executor.AbstractRetryExecutor.doExecute(AbstractRetryExecutor.java:32) + at com.aizuda.easy.retry.client.core.executor.AbstractRetryExecutor.execute(AbstractRetryExecutor.java:23) + at com.aizuda.easy.retry.client.core.strategy.LocalRetryStrategies.lambda$doGetCallable$2(LocalRetryStrategies.java:131) + at com.github.rholder.retry.AttemptTimeLimiters$NoAttemptTimeLimit.call(AttemptTimeLimiters.java:78) + at com.github.rholder.retry.Retryer.call(Retryer.java:160) + at com.aizuda.easy.retry.client.core.executor.GuavaRetryExecutor.call(GuavaRetryExecutor.java:45) + at com.aizuda.easy.retry.client.core.strategy.AbstractRetryStrategies.openRetry(AbstractRetryStrategies.java:59) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.openRetry(RetryAspect.java:132) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.doHandlerRetry(RetryAspect.java:125) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.around(RetryAspect.java:83) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) + at com.example.demo.RetryRegisterService$$EnhancerBySpringCGLIB$$3b82a583.errorMethod1() + at com.example.RetryRegisterServiceTest.errorMethod1(RetryRegisterServiceTest.java:30) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:688) + at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) + at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84) + at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) + at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:210) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:206) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:131) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:65) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:108) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:96) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:75) + at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71) + at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33) + at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) + at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) +2023-05-01 20:12:42,502 ERROR (LogUtils.java:43)- easy-retry 本地重试,第[1]次调度 +2023-05-01 20:12:44,503 INFO (LogUtils.java:34)- 执行注解重试方法:com.aizuda.easy.retry.client.core.strategy.RetryAnnotationMethod,参数为:["07daeebe-7311-4011-be6f-ffe52098d59d"] +2023-05-01 20:12:44,503 INFO (LogUtils.java:34)- 执行原重试方法:[com.example.demo.RetryRegisterService],参数为:[["07daeebe-7311-4011-be6f-ffe52098d59d"]] +2023-05-01 20:12:44,504 DEBUG (LogUtils.java:24)- 进入 aop [351859f4-453a-40f3-9aa7-6adb97d360cd] +2023-05-01 20:12:44,505 DEBUG (LogUtils.java:24)- 开始进行重试 aop [351859f4-453a-40f3-9aa7-6adb97d360cd] +2023-05-01 20:12:44,505 INFO (LogUtils.java:34)- 校验不通过不开启重试 methodEntrance:[false] isRunning:[true] throwable:[false] isRetryFlow:[false] isRetryForStatusCode:[false] +2023-05-01 20:12:44,505 DEBUG (LogUtils.java:24)- aop 结果处理 traceId:[351859f4-453a-40f3-9aa7-6adb97d360cd] result:[null] +java.lang.ArithmeticException: / by zero + at com.example.demo.RetryRegisterService.errorMethod1(RetryRegisterService.java:20) + at com.example.demo.RetryRegisterService$$FastClassBySpringCGLIB$$78e3b164.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.around(RetryAspect.java:76) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) + at com.example.demo.RetryRegisterService$$EnhancerBySpringCGLIB$$3b82a583.errorMethod1() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:282) + at com.aizuda.easy.retry.client.core.strategy.RetryAnnotationMethod.doExecute(RetryAnnotationMethod.java:28) + at com.aizuda.easy.retry.client.core.executor.AbstractRetryExecutor.doExecute(AbstractRetryExecutor.java:32) + at com.aizuda.easy.retry.client.core.executor.AbstractRetryExecutor.execute(AbstractRetryExecutor.java:23) + at com.aizuda.easy.retry.client.core.strategy.LocalRetryStrategies.lambda$doGetCallable$2(LocalRetryStrategies.java:131) + at com.github.rholder.retry.AttemptTimeLimiters$NoAttemptTimeLimit.call(AttemptTimeLimiters.java:78) + at com.github.rholder.retry.Retryer.call(Retryer.java:160) + at com.aizuda.easy.retry.client.core.executor.GuavaRetryExecutor.call(GuavaRetryExecutor.java:45) + at com.aizuda.easy.retry.client.core.strategy.AbstractRetryStrategies.openRetry(AbstractRetryStrategies.java:59) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.openRetry(RetryAspect.java:132) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.doHandlerRetry(RetryAspect.java:125) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.around(RetryAspect.java:83) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) + at com.example.demo.RetryRegisterService$$EnhancerBySpringCGLIB$$3b82a583.errorMethod1() + at com.example.RetryRegisterServiceTest.errorMethod1(RetryRegisterServiceTest.java:30) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:688) + at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) + at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84) + at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) + at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:210) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:206) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:131) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:65) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:108) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:96) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:75) + at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71) + at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33) + at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) + at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) +2023-05-01 20:12:44,506 ERROR (LogUtils.java:43)- easy-retry 本地重试,第[2]次调度 +2023-05-01 20:12:46,507 INFO (LogUtils.java:34)- 执行注解重试方法:com.aizuda.easy.retry.client.core.strategy.RetryAnnotationMethod,参数为:["07daeebe-7311-4011-be6f-ffe52098d59d"] +2023-05-01 20:12:46,507 INFO (LogUtils.java:34)- 执行原重试方法:[com.example.demo.RetryRegisterService],参数为:[["07daeebe-7311-4011-be6f-ffe52098d59d"]] +2023-05-01 20:12:46,508 DEBUG (LogUtils.java:24)- 进入 aop [11b0471e-7b07-4c5c-9e62-95223a3d8d69] +2023-05-01 20:12:46,508 DEBUG (LogUtils.java:24)- 开始进行重试 aop [11b0471e-7b07-4c5c-9e62-95223a3d8d69] +2023-05-01 20:12:46,508 INFO (LogUtils.java:34)- 校验不通过不开启重试 methodEntrance:[false] isRunning:[true] throwable:[false] isRetryFlow:[false] isRetryForStatusCode:[false] +2023-05-01 20:12:46,508 DEBUG (LogUtils.java:24)- aop 结果处理 traceId:[11b0471e-7b07-4c5c-9e62-95223a3d8d69] result:[null] +java.lang.ArithmeticException: / by zero + at com.example.demo.RetryRegisterService.errorMethod1(RetryRegisterService.java:20) + at com.example.demo.RetryRegisterService$$FastClassBySpringCGLIB$$78e3b164.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.around(RetryAspect.java:76) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) + at com.example.demo.RetryRegisterService$$EnhancerBySpringCGLIB$$3b82a583.errorMethod1() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:282) + at com.aizuda.easy.retry.client.core.strategy.RetryAnnotationMethod.doExecute(RetryAnnotationMethod.java:28) + at com.aizuda.easy.retry.client.core.executor.AbstractRetryExecutor.doExecute(AbstractRetryExecutor.java:32) + at com.aizuda.easy.retry.client.core.executor.AbstractRetryExecutor.execute(AbstractRetryExecutor.java:23) + at com.aizuda.easy.retry.client.core.strategy.LocalRetryStrategies.lambda$doGetCallable$2(LocalRetryStrategies.java:131) + at com.github.rholder.retry.AttemptTimeLimiters$NoAttemptTimeLimit.call(AttemptTimeLimiters.java:78) + at com.github.rholder.retry.Retryer.call(Retryer.java:160) + at com.aizuda.easy.retry.client.core.executor.GuavaRetryExecutor.call(GuavaRetryExecutor.java:45) + at com.aizuda.easy.retry.client.core.strategy.AbstractRetryStrategies.openRetry(AbstractRetryStrategies.java:59) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.openRetry(RetryAspect.java:132) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.doHandlerRetry(RetryAspect.java:125) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.around(RetryAspect.java:83) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) + at com.example.demo.RetryRegisterService$$EnhancerBySpringCGLIB$$3b82a583.errorMethod1() + at com.example.RetryRegisterServiceTest.errorMethod1(RetryRegisterServiceTest.java:30) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:688) + at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) + at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84) + at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) + at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:210) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:206) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:131) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:65) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:108) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:96) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:75) + at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71) + at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33) + at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) + at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) +2023-05-01 20:12:46,510 ERROR (LogUtils.java:43)- easy-retry 本地重试,第[3]次调度 +2023-05-01 20:12:46,510 ERROR (LogUtils.java:52)- 业务系统重试异常: +java.lang.ArithmeticException: / by zero + at com.example.demo.RetryRegisterService.errorMethod1(RetryRegisterService.java:20) + at com.example.demo.RetryRegisterService$$FastClassBySpringCGLIB$$78e3b164.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.around(RetryAspect.java:76) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) + at com.example.demo.RetryRegisterService$$EnhancerBySpringCGLIB$$3b82a583.errorMethod1() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:282) + at com.aizuda.easy.retry.client.core.strategy.RetryAnnotationMethod.doExecute(RetryAnnotationMethod.java:28) + at com.aizuda.easy.retry.client.core.executor.AbstractRetryExecutor.doExecute(AbstractRetryExecutor.java:32) + at com.aizuda.easy.retry.client.core.executor.AbstractRetryExecutor.execute(AbstractRetryExecutor.java:23) + at com.aizuda.easy.retry.client.core.strategy.LocalRetryStrategies.lambda$doGetCallable$2(LocalRetryStrategies.java:131) + at com.github.rholder.retry.AttemptTimeLimiters$NoAttemptTimeLimit.call(AttemptTimeLimiters.java:78) + at com.github.rholder.retry.Retryer.call(Retryer.java:160) + at com.aizuda.easy.retry.client.core.executor.GuavaRetryExecutor.call(GuavaRetryExecutor.java:45) + at com.aizuda.easy.retry.client.core.strategy.AbstractRetryStrategies.openRetry(AbstractRetryStrategies.java:59) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.openRetry(RetryAspect.java:132) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.doHandlerRetry(RetryAspect.java:125) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.around(RetryAspect.java:83) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) + at com.example.demo.RetryRegisterService$$EnhancerBySpringCGLIB$$3b82a583.errorMethod1() + at com.example.RetryRegisterServiceTest.errorMethod1(RetryRegisterServiceTest.java:30) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:688) + at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) + at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84) + at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) + at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:210) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:206) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:131) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:65) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:108) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:96) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:75) + at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71) + at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33) + at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) + at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) +2023-05-01 20:12:46,512 DEBUG (SimpleEasyRetryListener.java:29)- ------> failureOnRetry sceneName:[errorMethod1] executorClassName:[com.example.demo.RetryRegisterService] +java.lang.ArithmeticException: / by zero + at com.example.demo.RetryRegisterService.errorMethod1(RetryRegisterService.java:20) + at com.example.demo.RetryRegisterService$$FastClassBySpringCGLIB$$78e3b164.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.around(RetryAspect.java:76) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) + at com.example.demo.RetryRegisterService$$EnhancerBySpringCGLIB$$3b82a583.errorMethod1() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:282) + at com.aizuda.easy.retry.client.core.strategy.RetryAnnotationMethod.doExecute(RetryAnnotationMethod.java:28) + at com.aizuda.easy.retry.client.core.executor.AbstractRetryExecutor.doExecute(AbstractRetryExecutor.java:32) + at com.aizuda.easy.retry.client.core.executor.AbstractRetryExecutor.execute(AbstractRetryExecutor.java:23) + at com.aizuda.easy.retry.client.core.strategy.LocalRetryStrategies.lambda$doGetCallable$2(LocalRetryStrategies.java:131) + at com.github.rholder.retry.AttemptTimeLimiters$NoAttemptTimeLimit.call(AttemptTimeLimiters.java:78) + at com.github.rholder.retry.Retryer.call(Retryer.java:160) + at com.aizuda.easy.retry.client.core.executor.GuavaRetryExecutor.call(GuavaRetryExecutor.java:45) + at com.aizuda.easy.retry.client.core.strategy.AbstractRetryStrategies.openRetry(AbstractRetryStrategies.java:59) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.openRetry(RetryAspect.java:132) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.doHandlerRetry(RetryAspect.java:125) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.around(RetryAspect.java:83) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) + at com.example.demo.RetryRegisterService$$EnhancerBySpringCGLIB$$3b82a583.errorMethod1() + at com.example.RetryRegisterServiceTest.errorMethod1(RetryRegisterServiceTest.java:30) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:688) + at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) + at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84) + at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) + at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:210) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:206) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:131) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:65) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:108) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:96) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:75) + at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71) + at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33) + at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) + at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) +2023-05-01 20:12:46,512 INFO (LocalRetryStrategies.java:96)- 内存重试完成且异常未被解决 scene:[errorMethod1] +2023-05-01 20:12:46,513 DEBUG (LocalRetryStrategies.java:100)- 上报 scene:[errorMethod1] +2023-05-01 20:12:46,533 INFO (LogUtils.java:34)- 本地重试结果 message:[RetryerResultContext(result=null, retryerInfo=RetryerInfo(scene=errorMethod1, executorClassName=com.example.demo.RetryRegisterService, include=[], exclude=[], executor=com.example.demo.RetryRegisterService@4cd6f08b, executorMethod=public java.lang.String com.example.demo.RetryRegisterService.errorMethod1(java.lang.String), retryType=LOCAL_REMOTE, localTimes=3, localInterval=2, bizIdGenerate=class com.aizuda.easy.retry.client.core.generator.SimpleBizIdGenerate, bizNo=, retryMethod=class com.aizuda.easy.retry.client.core.strategy.RetryAnnotationMethod, isThrowException=true, retryCompleteCallback=class com.aizuda.easy.retry.client.core.callback.SimpleRetryCompleteCallback), retryResultStatusEnum=FAILURE, message=/ by zero, throwable=java.lang.ArithmeticException: / by zero)] +2023-05-01 20:12:46,533 DEBUG (LogUtils.java:24)- aop 结果处理 traceId:[42cc1ad7-5991-4111-938c-633958797b88] result:[null] +java.lang.ArithmeticException: / by zero + at com.example.demo.RetryRegisterService.errorMethod1(RetryRegisterService.java:20) + at com.example.demo.RetryRegisterService$$FastClassBySpringCGLIB$$78e3b164.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) + at com.aizuda.easy.retry.client.core.intercepter.RetryAspect.around(RetryAspect.java:76) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) + at com.example.demo.RetryRegisterService$$EnhancerBySpringCGLIB$$3b82a583.errorMethod1() + at com.example.RetryRegisterServiceTest.errorMethod1(RetryRegisterServiceTest.java:30) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:688) + at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) + at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84) + at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) + at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:210) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:206) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:131) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:65) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:108) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:96) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:75) + at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71) + at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33) + at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) + at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) +2023-05-01 20:12:47,550 INFO (LogUtils.java:34)- 批量上报 +2023-05-01 20:12:47,560 ERROR (LogUtils.java:43)- easy-retry 上报成功,第[1]次调度 +2023-05-01 20:12:47,560 INFO (LogUtils.java:34)- 上报重试成功:[{"groupName":"example_group","sceneName":"errorMethod1","bizId":"c31a4642d7aba3cfedd45a7e0afecf26","executorName":"com.example.demo.RetryRegisterService","bizNo":"","argsStr":"[\"07daeebe-7311-4011-be6f-ffe52098d59d\"]"}] +2023-05-01 20:12:47,582 INFO (LogUtils.java:34)- 接收服务端返回数据content:[{"status":1,"message":"批量上报重试数据处理成功","data":true,"requestId":"fce0c4a0-d620-4c83-8907-cf1f692e43c6"}],headers:[DefaultHttpHeaders[content-type: application/json, connection: keep-alive, content-length: 124]] +2023-05-01 20:12:47,583 INFO (LogUtils.java:34)- 同步回调 +2023-05-01 20:12:47,583 DEBUG (LogUtils.java:24)- channelReadComplete diff --git a/example/src/main/java/com/example/controller/SchoolController.java b/example/src/main/java/com/example/controller/SchoolController.java index 94104bc8c..e53879205 100644 --- a/example/src/main/java/com/example/controller/SchoolController.java +++ b/example/src/main/java/com/example/controller/SchoolController.java @@ -25,11 +25,11 @@ public class SchoolController { @GetMapping("/id") public Result getSchool(HttpServletRequest request, HttpServletResponse response) { - String header = request.getHeader(SystemConstants.X_RETRY_HEAD_KEY); + String header = request.getHeader(SystemConstants.EASY_RETRY_HEAD_KEY); System.out.println(header); if (RetrySiteSnapshot.isRetryFlow()) { - response.addHeader(SystemConstants.X_RETRY_STATUS_CODE_KEY, SystemConstants.X_RETRY_STATUS_CODE); + response.addHeader(SystemConstants.EASY_RETRY_STATUS_CODE_KEY, SystemConstants.EASY_RETRY_STATUS_CODE); } if (true) { diff --git a/frontend/src/components/Charts/Line.vue b/frontend/src/components/Charts/Line.vue index 0ae44d999..b67ebf628 100644 --- a/frontend/src/components/Charts/Line.vue +++ b/frontend/src/components/Charts/Line.vue @@ -35,7 +35,6 @@ export default { }, viewCharts (viewRecords, type = 'day') { var ds = new DataSet() - console.log(viewRecords) if (viewRecords === undefined || viewRecords === null) { return } diff --git a/frontend/src/views/task/RetryTaskList.vue b/frontend/src/views/task/RetryTaskList.vue index 1a84d8f84..2f75ed030 100644 --- a/frontend/src/views/task/RetryTaskList.vue +++ b/frontend/src/views/task/RetryTaskList.vue @@ -110,7 +110,6 @@ import AInput from 'ant-design-vue/es/input/Input' import Edit from '@/views/list/table/Edit' import { getAllGroupNameList, getRetryTaskPage, getSceneList, updateRetryTaskStatus, batchDelete } from '@/api/manage' import { STable } from '@/components' -import moment from 'moment' import SaveRetryTask from './form/SaveRetryTask' import BatchUpdateRetryTaskInfo from './form/BatchUpdateRetryTaskInfo' @@ -167,8 +166,7 @@ export default { { title: '下次触发时间', dataIndex: 'nextTriggerAt', - needTotal: false, - customRender: (text) => moment(text).format('YYYY-MM-DD HH:mm:ss') + needTotal: false }, { title: '重试次数', @@ -183,8 +181,7 @@ export default { { title: '更新时间', dataIndex: 'updateDt', - sorter: true, - customRender: (text) => moment(text).format('YYYY-MM-DD HH:mm:ss') + sorter: true }, { title: '操作',