From 3c385423158e53ed154c437775f8d35dd6998d5b Mon Sep 17 00:00:00 2001
From: byteblogs168 <598092184@qq.com>
Date: Sat, 14 Jan 2023 20:00:14 +0800
Subject: [PATCH] =?UTF-8?q?0.0.2.0=20=E4=BF=AE=E5=A4=8D=E4=B8=8B=E6=B8=B8?=
=?UTF-8?q?=E4=BC=A0=E9=80=92=E9=9D=9E=E9=87=8D=E8=AF=95status=20code=20?=
=?UTF-8?q?=E6=97=B6=E5=80=99=E4=B8=8D=E5=9C=A8=E8=BF=9B=E8=A1=8C=E9=87=8D?=
=?UTF-8?q?=E8=AF=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
example/pom.xml | 3 +--
.../ExistsTransactionalRetryServiceTest.java | 4 ++--
frontend/src/views/config/GroupList.vue | 2 +-
.../src/views/config/basicConfigForm/SceneList.vue | 2 +-
frontend/src/views/task/RetryDeadLetterList.vue | 6 +++---
frontend/src/views/task/RetryLogList.vue | 8 ++++----
frontend/src/views/task/RetryTaskList.vue | 13 ++++++++++---
frontend/src/views/user/UserList.vue | 2 +-
.../x/retry/client/core/client/RetryEndPoint.java | 1 +
.../retry/client/core/intercepter/HeaderAspect.java | 6 ++++++
.../client/core/intercepter/RetrySiteSnapshot.java | 3 +++
.../access/retry/MybatisRetryTaskAccess.java | 3 ++-
.../server/service/impl/RetryTaskServiceImpl.java | 4 ++++
.../server/web/model/request/RetryTaskQueryVO.java | 2 ++
14 files changed, 41 insertions(+), 18 deletions(-)
diff --git a/example/pom.xml b/example/pom.xml
index 95d1d4d11..de13010ad 100644
--- a/example/pom.xml
+++ b/example/pom.xml
@@ -64,8 +64,7 @@
org.awaitility
awaitility
- 2.0.0
- test
+ 4.1.1
com.squareup.okhttp3
diff --git a/example/src/test/java/com/example/ExistsTransactionalRetryServiceTest.java b/example/src/test/java/com/example/ExistsTransactionalRetryServiceTest.java
index 1bdc59b64..a45067d7b 100644
--- a/example/src/test/java/com/example/ExistsTransactionalRetryServiceTest.java
+++ b/example/src/test/java/com/example/ExistsTransactionalRetryServiceTest.java
@@ -39,7 +39,7 @@ public class ExistsTransactionalRetryServiceTest {
Mockito.when(remoteService.call())
.thenReturn(new Result(0, "1"))
.thenReturn(new Result(0, "2"))
- .thenReturn(new Result(1, "3"))
+ .thenReturn(new Result(0, "3"))
.thenReturn(new Result(0, "4"))
.thenReturn(new Result(0, "5"))
;
@@ -89,7 +89,7 @@ public class ExistsTransactionalRetryServiceTest {
.thenReturn(new Result(0, "5"))
;
try {
- for (int i = 0; i < 100; i++) {
+ for (int i = 0; i < 400; i++) {
threadPoolExecutor.execute(() -> testExistsTransactionalRetryService.testSimpleInsert(UUID.randomUUID().toString()));
}
} catch (Exception e) {
diff --git a/frontend/src/views/config/GroupList.vue b/frontend/src/views/config/GroupList.vue
index e618b68eb..0e4589b27 100644
--- a/frontend/src/views/config/GroupList.vue
+++ b/frontend/src/views/config/GroupList.vue
@@ -7,7 +7,7 @@
-
+
diff --git a/frontend/src/views/config/basicConfigForm/SceneList.vue b/frontend/src/views/config/basicConfigForm/SceneList.vue
index 07d9c53af..42ab1f514 100644
--- a/frontend/src/views/config/basicConfigForm/SceneList.vue
+++ b/frontend/src/views/config/basicConfigForm/SceneList.vue
@@ -6,7 +6,7 @@
-
+
diff --git a/frontend/src/views/task/RetryDeadLetterList.vue b/frontend/src/views/task/RetryDeadLetterList.vue
index 6c094e9f1..b42ef0a9c 100644
--- a/frontend/src/views/task/RetryDeadLetterList.vue
+++ b/frontend/src/views/task/RetryDeadLetterList.vue
@@ -12,7 +12,7 @@
-
+
{{ item.sceneName }}
@@ -20,12 +20,12 @@
-
+
-
+
diff --git a/frontend/src/views/task/RetryLogList.vue b/frontend/src/views/task/RetryLogList.vue
index 97e82a7f4..a1392a721 100644
--- a/frontend/src/views/task/RetryLogList.vue
+++ b/frontend/src/views/task/RetryLogList.vue
@@ -5,14 +5,14 @@
- handleChange(value)">
+ handleChange(value)" allowClear>
{{ item }}
-
+
{{ item.sceneName }}
@@ -20,12 +20,12 @@
-
+
-
+
diff --git a/frontend/src/views/task/RetryTaskList.vue b/frontend/src/views/task/RetryTaskList.vue
index 7cc1e10c0..6a784dabf 100644
--- a/frontend/src/views/task/RetryTaskList.vue
+++ b/frontend/src/views/task/RetryTaskList.vue
@@ -12,20 +12,27 @@
-
+
{{ item.sceneName }}
+
+
+
+ {{ value }}
+
+
+
-
+
-
+
diff --git a/frontend/src/views/user/UserList.vue b/frontend/src/views/user/UserList.vue
index b4c2aa04e..3d3b7a9ce 100644
--- a/frontend/src/views/user/UserList.vue
+++ b/frontend/src/views/user/UserList.vue
@@ -6,7 +6,7 @@
-
+
diff --git a/x-retry-client-core/src/main/java/com/x/retry/client/core/client/RetryEndPoint.java b/x-retry-client-core/src/main/java/com/x/retry/client/core/client/RetryEndPoint.java
index 40e1d69d7..a87a4c7bb 100644
--- a/x-retry-client-core/src/main/java/com/x/retry/client/core/client/RetryEndPoint.java
+++ b/x-retry-client-core/src/main/java/com/x/retry/client/core/client/RetryEndPoint.java
@@ -12,6 +12,7 @@ import com.x.retry.client.core.strategy.RetryStrategy;
import com.x.retry.client.model.DispatchRetryDTO;
import com.x.retry.client.model.DispatchRetryResultDTO;
import com.x.retry.common.core.enums.RetryResultStatusEnum;
+import com.x.retry.common.core.log.LogUtils;
import com.x.retry.common.core.model.Result;
import com.x.retry.common.core.util.JsonUtil;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/x-retry-client-core/src/main/java/com/x/retry/client/core/intercepter/HeaderAspect.java b/x-retry-client-core/src/main/java/com/x/retry/client/core/intercepter/HeaderAspect.java
index 586ed1e08..937f4d574 100644
--- a/x-retry-client-core/src/main/java/com/x/retry/client/core/intercepter/HeaderAspect.java
+++ b/x-retry-client-core/src/main/java/com/x/retry/client/core/intercepter/HeaderAspect.java
@@ -69,6 +69,12 @@ public class HeaderAspect {
HttpServletResponse response = attributes.getResponse();
response.addHeader(SystemConstants.X_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()) {
+ return;
+ }
+
+ // 这里清除是为了,非服务端直接触发的节点,需要清除 threadLocal里面的标记
RetrySiteSnapshot.removeRetryHeader();
RetrySiteSnapshot.removeRetryStatusCode();
RetrySiteSnapshot.removeEntryMethodTime();
diff --git a/x-retry-client-core/src/main/java/com/x/retry/client/core/intercepter/RetrySiteSnapshot.java b/x-retry-client-core/src/main/java/com/x/retry/client/core/intercepter/RetrySiteSnapshot.java
index 1c1ee7a7c..837ad8fbd 100644
--- a/x-retry-client-core/src/main/java/com/x/retry/client/core/intercepter/RetrySiteSnapshot.java
+++ b/x-retry-client-core/src/main/java/com/x/retry/client/core/intercepter/RetrySiteSnapshot.java
@@ -135,6 +135,9 @@ public class RetrySiteSnapshot {
RETRY_CLASS_METHOD_ENTRANCE.remove();
RETRY_STAGE.remove();
+ removeEntryMethodTime();
+ removeRetryHeader();
+ removeRetryStatusCode();
}
/**
diff --git a/x-retry-server/src/main/java/com/x/retry/server/persistence/support/access/retry/MybatisRetryTaskAccess.java b/x-retry-server/src/main/java/com/x/retry/server/persistence/support/access/retry/MybatisRetryTaskAccess.java
index 7e5469e77..e6e192885 100644
--- a/x-retry-server/src/main/java/com/x/retry/server/persistence/support/access/retry/MybatisRetryTaskAccess.java
+++ b/x-retry-server/src/main/java/com/x/retry/server/persistence/support/access/retry/MybatisRetryTaskAccess.java
@@ -35,7 +35,8 @@ public class MybatisRetryTaskAccess extends AbstractRetryTaskAccess {
return retryTaskMapper.selectPage(new PageDTO<>(0, pageSize),
new LambdaQueryWrapper()
.eq(RetryTask::getRetryStatus, RetryStatusEnum.RUNNING.getLevel())
- .eq(RetryTask::getGroupName, groupName).ge(RetryTask::getCreateDt, lastAt)).getRecords();
+ .eq(RetryTask::getGroupName, groupName).ge(RetryTask::getCreateDt, lastAt)
+ .orderByAsc(RetryTask::getCreateDt)).getRecords();
}
@Override
diff --git a/x-retry-server/src/main/java/com/x/retry/server/service/impl/RetryTaskServiceImpl.java b/x-retry-server/src/main/java/com/x/retry/server/service/impl/RetryTaskServiceImpl.java
index dd6120c0b..0f5028bcd 100644
--- a/x-retry-server/src/main/java/com/x/retry/server/service/impl/RetryTaskServiceImpl.java
+++ b/x-retry-server/src/main/java/com/x/retry/server/service/impl/RetryTaskServiceImpl.java
@@ -17,6 +17,7 @@ import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
+import java.util.Objects;
/**
* @author www.byteblogs.com
@@ -53,6 +54,9 @@ public class RetryTaskServiceImpl implements RetryTaskService {
if (StringUtils.isNotBlank(queryVO.getBizId())) {
retryTaskLambdaQueryWrapper.eq(RetryTask::getBizId, queryVO.getBizId());
}
+ if (Objects.nonNull(queryVO.getRetryStatus())) {
+ retryTaskLambdaQueryWrapper.eq(RetryTask::getRetryStatus, queryVO.getRetryStatus());
+ }
RequestDataHelper.setPartition(queryVO.getGroupName());
diff --git a/x-retry-server/src/main/java/com/x/retry/server/web/model/request/RetryTaskQueryVO.java b/x-retry-server/src/main/java/com/x/retry/server/web/model/request/RetryTaskQueryVO.java
index 779641a4a..a9f9d30a8 100644
--- a/x-retry-server/src/main/java/com/x/retry/server/web/model/request/RetryTaskQueryVO.java
+++ b/x-retry-server/src/main/java/com/x/retry/server/web/model/request/RetryTaskQueryVO.java
@@ -18,4 +18,6 @@ public class RetryTaskQueryVO extends BaseQueryVO {
private String bizNo;
private String bizId;
+
+ private Integer retryStatus;
}