From 7bf0eed6b62bfae902f07e7897f10b618c8c8959 Mon Sep 17 00:00:00 2001 From: byteblogs168 <598092184@qq.com> Date: Fri, 28 Apr 2023 17:58:48 +0800 Subject: [PATCH] =?UTF-8?q?feat:=201.1.0=201.=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E7=B1=BB=E5=90=8D=202.=20=E6=9B=B4=E6=8D=A2logo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/images/logo.png | Bin 8890 -> 8347 bytes .../client/core/cache/GroupVersionCache.java | 4 ++-- .../core/client/NettyHttpClientHandler.java | 12 ++++++------ .../core/client/NettyHttpConnectClient.java | 8 ++++---- .../core/client/request/RequestParam.java | 4 ++-- ...ryResponse.java => EasyRetryResponse.java} | 4 ++-- ...operties.java => EasyRetryProperties.java} | 4 ++-- ...ryListener.java => EasyRetryListener.java} | 2 +- ...ener.java => SimpleEasyRetryListener.java} | 2 +- .../client/core/intercepter/RetryAspect.java | 6 +++--- .../client/core/report/ReportHandler.java | 4 ++-- .../client/core/report/ReportListener.java | 10 +++++----- .../strategy/AbstractRetryStrategies.java | 17 +++++++++-------- frontend/public/logo.png | Bin 5389 -> 8347 bytes 14 files changed, 39 insertions(+), 38 deletions(-) rename easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/client/response/{XRetryResponse.java => EasyRetryResponse.java} (92%) rename easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/config/{XRetryProperties.java => EasyRetryProperties.java} (87%) rename easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/event/{XRetryListener.java => EasyRetryListener.java} (90%) rename easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/event/{SimpleXRetryListener.java => SimpleEasyRetryListener.java} (94%) diff --git a/doc/images/logo.png b/doc/images/logo.png index b31e902274a9297fddba381de7752c8194bdc9bd..f76c41401cb737df9e0c2b4c1d548d14e3c13e28 100644 GIT binary patch literal 8347 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 W3Ws)cojiX!Kv9-gm#dPofc_8FTGXWg literal 8890 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 O0D4-+nsqSym;VQ6)uY+~ diff --git a/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/cache/GroupVersionCache.java b/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/cache/GroupVersionCache.java index c51843ab1..9bd6754fb 100644 --- a/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/cache/GroupVersionCache.java +++ b/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/cache/GroupVersionCache.java @@ -2,7 +2,7 @@ package com.aizuda.easy.retry.client.core.cache; import com.aizuda.easy.retry.client.core.client.request.ConfigHttpRequestHandler; import com.aizuda.easy.retry.client.core.client.request.RequestParam; -import com.aizuda.easy.retry.client.core.client.response.XRetryResponse; +import com.aizuda.easy.retry.client.core.client.response.EasyRetryResponse; import com.aizuda.easy.retry.client.core.Lifecycle; import com.aizuda.easy.retry.client.core.client.NettyHttpConnectClient; import com.aizuda.easy.retry.common.core.context.SpringContext; @@ -63,7 +63,7 @@ public class GroupVersionCache implements Lifecycle { XRetryRequest xRetryRequest = new XRetryRequest(getVersion()); ConfigHttpRequestHandler configHttpRequestHandler = SpringContext.getBeanByType(ConfigHttpRequestHandler.class); - XRetryResponse.cache(xRetryRequest, configHttpRequestHandler.callable()); + EasyRetryResponse.cache(xRetryRequest, configHttpRequestHandler.callable()); NettyHttpConnectClient.send(configHttpRequestHandler.method(), configHttpRequestHandler.getHttpUrl( new RequestParam()), configHttpRequestHandler.body(xRetryRequest)); diff --git a/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/client/NettyHttpClientHandler.java b/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/client/NettyHttpClientHandler.java index c19e13698..e96f70734 100644 --- a/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/client/NettyHttpClientHandler.java +++ b/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/client/NettyHttpClientHandler.java @@ -1,8 +1,8 @@ package com.aizuda.easy.retry.client.core.client; import com.aizuda.easy.retry.client.core.client.request.BeatHttpRequestHandler; -import com.aizuda.easy.retry.client.core.client.response.XRetryResponse; -import com.aizuda.easy.retry.client.core.config.XRetryProperties; +import com.aizuda.easy.retry.client.core.client.response.EasyRetryResponse; +import com.aizuda.easy.retry.client.core.config.EasyRetryProperties; import com.aizuda.easy.retry.client.core.client.request.RequestParam; import com.aizuda.easy.retry.common.core.context.SpringContext; import com.aizuda.easy.retry.common.core.log.LogUtils; @@ -45,7 +45,7 @@ public class NettyHttpClientHandler extends SimpleChannelInboundHandler { - XRetryProperties xRetryProperties = SpringContext.getBeanByType(XRetryProperties.class); - XRetryProperties.ServerConfig server = xRetryProperties.getServer(); + EasyRetryProperties easyRetryProperties = SpringContext.getBeanByType(EasyRetryProperties.class); + EasyRetryProperties.ServerConfig server = easyRetryProperties.getServer(); LogUtils.info(log, "Reconnecting to:" + server.getHost() + ":" + server.getPort()); NettyHttpConnectClient.connect(); }, 10, TimeUnit.SECONDS); @@ -107,7 +107,7 @@ public class NettyHttpClientHandler extends SimpleChannelInboundHandler> responsePool = new ConcurrentHashMap<>(); - public XRetryResponse(XRetryRequest retryRequest, Consumer callable) { + public EasyRetryResponse(XRetryRequest retryRequest, Consumer callable) { responsePool.put(retryRequest.getRequestId(), callable); } diff --git a/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/config/XRetryProperties.java b/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/config/EasyRetryProperties.java similarity index 87% rename from easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/config/XRetryProperties.java rename to easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/config/EasyRetryProperties.java index c536abf36..474a6e6be 100644 --- a/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/config/XRetryProperties.java +++ b/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/config/EasyRetryProperties.java @@ -17,7 +17,7 @@ import java.util.Objects; @ConfigurationProperties(prefix = "easy-retry") @Getter @Setter -public class XRetryProperties { +public class EasyRetryProperties { /** * 服务端对应的group @@ -43,7 +43,7 @@ public class XRetryProperties { } public static String getGroup() { - XRetryProperties properties = SpringContext.applicationContext.getBean(XRetryProperties.class); + EasyRetryProperties properties = SpringContext.applicationContext.getBean(EasyRetryProperties.class); return Objects.requireNonNull(properties).group; } } diff --git a/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/event/XRetryListener.java b/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/event/EasyRetryListener.java similarity index 90% rename from easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/event/XRetryListener.java rename to easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/event/EasyRetryListener.java index 6e6dd7284..811ba057a 100644 --- a/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/event/XRetryListener.java +++ b/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/event/EasyRetryListener.java @@ -4,7 +4,7 @@ package com.aizuda.easy.retry.client.core.event; * @author: www.byteblogs.com * @date : 2022-03-03 15:50 */ -public interface XRetryListener { +public interface EasyRetryListener { void beforeRetry(String sceneName, String executorClassName, Object[] params); void successOnRetry(Object result, String sceneName, String executorClassName); void failureOnRetry(String sceneName, String executorClassName, Throwable e); diff --git a/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/event/SimpleXRetryListener.java b/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/event/SimpleEasyRetryListener.java similarity index 94% rename from easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/event/SimpleXRetryListener.java rename to easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/event/SimpleEasyRetryListener.java index c643e9113..eb3f69abb 100644 --- a/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/event/SimpleXRetryListener.java +++ b/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/event/SimpleEasyRetryListener.java @@ -10,7 +10,7 @@ import org.springframework.stereotype.Component; */ @Component @Slf4j -public class SimpleXRetryListener implements XRetryListener { +public class SimpleEasyRetryListener implements EasyRetryListener { @Override public void beforeRetry(String sceneName, String executorClassName, Object[] params) { diff --git a/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/intercepter/RetryAspect.java b/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/intercepter/RetryAspect.java index 5973654e0..2b6454088 100644 --- a/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/intercepter/RetryAspect.java +++ b/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/intercepter/RetryAspect.java @@ -2,7 +2,7 @@ package com.aizuda.easy.retry.client.core.intercepter; import cn.hutool.core.util.StrUtil; import com.aizuda.easy.retry.client.core.cache.GroupVersionCache; -import com.aizuda.easy.retry.client.core.config.XRetryProperties; +import com.aizuda.easy.retry.client.core.config.EasyRetryProperties; import com.aizuda.easy.retry.client.core.exception.EasyRetryClientException; import com.aizuda.easy.retry.client.core.strategy.RetryStrategy; import com.aizuda.easy.retry.client.core.annotation.Retryable; @@ -157,10 +157,10 @@ public class RetryAspect implements Ordered { AlarmContext context = AlarmContext.build() .text(retryErrorMoreThresholdTextMessageFormatter, EnvironmentUtils.getActiveProfile(), - XRetryProperties.getGroup(), + EasyRetryProperties.getGroup(), LocalDateTime.now().format(formatter), e.getMessage()) - .title("重试组件异常:[{}]", XRetryProperties.getGroup()) + .title("重试组件异常:[{}]", EasyRetryProperties.getGroup()) .notifyAttribute(notifyAttribute.getNotifyAttribute()); Alarm alarmType = altinAlarmFactory.getAlarmType(notifyAttribute.getNotifyType()); diff --git a/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/report/ReportHandler.java b/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/report/ReportHandler.java index 2d81ab831..7dc0a34a4 100644 --- a/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/report/ReportHandler.java +++ b/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/report/ReportHandler.java @@ -2,7 +2,7 @@ package com.aizuda.easy.retry.client.core.report; import com.aizuda.easy.retry.client.core.BizIdGenerate; import com.aizuda.easy.retry.client.core.RetryArgSerializer; -import com.aizuda.easy.retry.client.core.config.XRetryProperties; +import com.aizuda.easy.retry.client.core.config.EasyRetryProperties; import com.aizuda.easy.retry.client.core.Lifecycle; import com.aizuda.easy.retry.client.core.cache.RetryerInfoCache; import com.aizuda.easy.retry.client.core.exception.EasyRetryClientException; @@ -76,7 +76,7 @@ public class ReportHandler implements Lifecycle { retryTaskDTO.setBizId(bizId); retryTaskDTO.setExecutorName(targetClassName); retryTaskDTO.setArgsStr(serialize); - retryTaskDTO.setGroupName(XRetryProperties.getGroup()); + retryTaskDTO.setGroupName(EasyRetryProperties.getGroup()); retryTaskDTO.setSceneName(scene); String bizNoSpel = retryerInfo.getBizNo(); diff --git a/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/report/ReportListener.java b/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/report/ReportListener.java index f43185b55..8e3d90859 100644 --- a/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/report/ReportListener.java +++ b/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/report/ReportListener.java @@ -2,8 +2,8 @@ package com.aizuda.easy.retry.client.core.report; import com.aizuda.easy.retry.client.core.RetryExecutor; import com.aizuda.easy.retry.client.core.RetryExecutorParameter; -import com.aizuda.easy.retry.client.core.client.response.XRetryResponse; -import com.aizuda.easy.retry.client.core.config.XRetryProperties; +import com.aizuda.easy.retry.client.core.client.response.EasyRetryResponse; +import com.aizuda.easy.retry.client.core.config.EasyRetryProperties; import com.github.rholder.retry.*; import com.google.common.base.Predicate; import com.aizuda.easy.retry.client.core.cache.GroupVersionCache; @@ -59,7 +59,7 @@ public class ReportListener implements Listener { XRetryRequest xRetryRequest = new XRetryRequest(list); ReportRetryInfoHttpRequestHandler requestHandler = SpringContext.getBeanByType(ReportRetryInfoHttpRequestHandler.class); - XRetryResponse.cache(xRetryRequest, requestHandler.callable()); + EasyRetryResponse.cache(xRetryRequest, requestHandler.callable()); NettyHttpConnectClient.send(requestHandler.method(), requestHandler.getHttpUrl(new RequestParam()), requestHandler.body(xRetryRequest)); return null; @@ -118,10 +118,10 @@ public class ReportListener implements Listener { AlarmContext context = AlarmContext.build() .text(reportErrorTextMessageFormatter, EnvironmentUtils.getActiveProfile(), - XRetryProperties.getGroup(), + EasyRetryProperties.getGroup(), LocalDateTime.now().format(formatter), e.getMessage()) - .title("上报异常:[{}]", XRetryProperties.getGroup()) + .title("上报异常:[{}]", EasyRetryProperties.getGroup()) .notifyAttribute(notifyAttribute.getNotifyAttribute()); AltinAlarmFactory altinAlarmFactory = SpringContext.getBeanByType(AltinAlarmFactory.class); diff --git a/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/strategy/AbstractRetryStrategies.java b/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/strategy/AbstractRetryStrategies.java index f274220ce..67b5fb16b 100644 --- a/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/strategy/AbstractRetryStrategies.java +++ b/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/strategy/AbstractRetryStrategies.java @@ -2,7 +2,7 @@ package com.aizuda.easy.retry.client.core.strategy; import com.aizuda.easy.retry.client.core.RetryExecutor; import com.aizuda.easy.retry.client.core.RetryExecutorParameter; -import com.aizuda.easy.retry.client.core.event.XRetryListener; +import com.aizuda.easy.retry.client.core.event.EasyRetryListener; import com.aizuda.easy.retry.client.core.intercepter.RetrySiteSnapshot; import com.github.rholder.retry.Retryer; import com.github.rholder.retry.StopStrategy; @@ -27,7 +27,7 @@ import java.util.function.Consumer; public abstract class AbstractRetryStrategies implements RetryStrategy { @Autowired - private List XRetryListeners; + private List EasyRetryListeners; @Override public RetryerResultContext openRetry(String sceneName, String executorClassName, Object[] params) { @@ -52,8 +52,8 @@ public abstract class AbstractRetryStrategies implements RetryStrategy { retryerResultContext.setRetryerInfo(retryerInfo); try { - for (XRetryListener XRetryListener : XRetryListeners) { - XRetryListener.beforeRetry(sceneName, executorClassName, params); + for (EasyRetryListener EasyRetryListener : EasyRetryListeners) { + EasyRetryListener.beforeRetry(sceneName, executorClassName, params); } Object result = retryExecutor.call(retryer, doGetCallable(retryExecutor, params), getRetryErrorConsumer(retryerResultContext, params), getRetrySuccessConsumer(retryerResultContext)); @@ -79,8 +79,8 @@ public abstract class AbstractRetryStrategies implements RetryStrategy { Object result = retryerResultContext.getResult(); RetryerInfo retryerInfo = retryerResultContext.getRetryerInfo(); - for (XRetryListener XRetryListener : XRetryListeners) { - XRetryListener.successOnRetry(result, retryerInfo.getScene(), retryerInfo.getExecutorClassName()); + for (EasyRetryListener EasyRetryListener : EasyRetryListeners) { + EasyRetryListener.successOnRetry(result, retryerInfo.getScene(), retryerInfo.getExecutorClassName()); } doRetrySuccessConsumer(retryerResultContext).accept(retryerResultContext); @@ -99,8 +99,9 @@ public abstract class AbstractRetryStrategies implements RetryStrategy { RetryerInfo retryerInfo = context.getRetryerInfo(); try { - for (XRetryListener XRetryListener : XRetryListeners) { - XRetryListener.failureOnRetry(retryerInfo.getScene(), retryerInfo.getExecutorClassName(), throwable); + for (EasyRetryListener EasyRetryListener : EasyRetryListeners) { + EasyRetryListener + .failureOnRetry(retryerInfo.getScene(), retryerInfo.getExecutorClassName(), throwable); } } catch (Exception e) { log.error("失败监听者模式 处理失败 ", e); diff --git a/frontend/public/logo.png b/frontend/public/logo.png index 70c111e1fbda4586b039922aa06b29b0e1a7d332..f76c41401cb737df9e0c2b4c1d548d14e3c13e28 100644 GIT binary patch literal 8347 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 W3Ws)cojiX!Kv9-gm#dPofc_8FTGXWg literal 5389 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