From 9ac4d72a5e0b31ceda5cb9dda0794601011f0344 Mon Sep 17 00:00:00 2001 From: byteblogs168 <598092184@qq.com> Date: Tue, 2 Apr 2024 18:29:16 +0800 Subject: [PATCH] =?UTF-8?q?feat(3.2.0):=20=E4=BC=98=E5=8C=96=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E5=BD=92=E6=A1=A3=E5=92=8C=E6=96=B0=E5=A2=9E=E6=97=A5?= =?UTF-8?q?=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 手动完成重试任务添加接入实时日志 2. 修复重试日志的写入 --- doc/sql/easy_retry_mysql.sql | 3 +- doc/sql/easy_retry_oracle.sql | 4 +-- doc/sql/easy_retry_postgre.sql | 6 ++-- doc/sql/easy_retry_sqlserver.sql | 10 +----- .../client/core/client/RetryEndPoint.java | 14 ++++---- .../common/core/constant/SystemConstants.java | 5 +++ .../mapper/RetryTaskLogMessageMapper.java | 1 - .../persistence/po/RetryTaskLogMessage.java | 5 --- .../mapper/RetryTaskLogMessageMapper.xml | 6 ++-- .../mapper/RetryTaskLogMessageMapper.xml | 6 ++-- .../mapper/RetryTaskLogMessageMapper.xml | 31 +++++++++++++++++ .../EasyRetryServerLogbackAppender.java | 33 +++++++++++++++---- .../server/common}/dto/JobLogMetaDTO.java | 2 +- .../server/common}/dto/RetryLogMetaDTO.java | 2 +- .../server/common/log/LogStorageFactory.java | 4 ++- .../common/register/ServerRegister.java | 2 +- .../job/task/support/JobTaskConverter.java | 2 +- .../task/support/dispatch/JobLogActor.java | 7 ++-- .../executor/job/RequestClientActor.java | 2 +- .../workflow/CallbackWorkflowExecutor.java | 2 +- .../workflow/DecisionWorkflowExecutor.java | 2 +- .../workflow/JobTaskWorkflowExecutor.java | 2 +- .../job/task/support/log/JobLogStorage.java | 2 +- .../task/support/RetryTaskConverter.java | 2 +- .../actor/exec/ExecCallbackUnitActor.java | 2 +- .../dispatch/actor/exec/ExecUnitActor.java | 2 +- .../dispatch/actor/log/RetryLogActor.java | 11 ++++--- .../dispatch/task/AbstractTaskExecutor.java | 12 +------ .../dispatch/task/RetryTaskExecutor.java | 1 - .../task/support/log/RetryLogStorage.java | 20 +++++------ .../task/support/retry/RetryExecutor.java | 2 +- .../handler/ReportLogHttpRequestHandler.java | 14 ++++---- .../service/impl/RetryTaskLogServiceImpl.java | 7 ---- .../service/impl/RetryTaskServiceImpl.java | 15 ++++----- 34 files changed, 131 insertions(+), 110 deletions(-) rename easy-retry-server/{easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task => easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common}/dto/JobLogMetaDTO.java (93%) rename easy-retry-server/{easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task => easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common}/dto/RetryLogMetaDTO.java (92%) diff --git a/doc/sql/easy_retry_mysql.sql b/doc/sql/easy_retry_mysql.sql index a2195248..bf2d5237 100644 --- a/doc/sql/easy_retry_mysql.sql +++ b/doc/sql/easy_retry_mysql.sql @@ -161,8 +161,7 @@ CREATE TABLE `retry_task_log_message` `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `message` longtext NOT NULL COMMENT '异常信息', `log_num` int(11) NOT NULL DEFAULT 1 COMMENT '日志数量', - `real_time` bigint(13) NOT NULL DEFAULT 0 COMMENT '上报时间', - `client_info` varchar(128) DEFAULT NULL COMMENT '客户端地址 clientId#ip:port', + `real_time` bigint(13) NOT NULL DEFAULT 0 COMMENT '上报时间' PRIMARY KEY (`id`), KEY `idx_namespace_id_group_name_scene_name` (`namespace_id`, `group_name`, `unique_id`), KEY `idx_create_dt` (`create_dt`) diff --git a/doc/sql/easy_retry_oracle.sql b/doc/sql/easy_retry_oracle.sql index 8f9b522b..cbd7d1c1 100644 --- a/doc/sql/easy_retry_oracle.sql +++ b/doc/sql/easy_retry_oracle.sql @@ -231,8 +231,7 @@ CREATE TABLE retry_task_log_message group_name VARCHAR2(64) NOT NULL, unique_id VARCHAR2(64) NOT NULL, create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - message CLOB DEFAULT '', - client_info VARCHAR2(128) DEFAULT NULL + message CLOB DEFAULT '' ); CREATE INDEX idx_retry_task_log_message_1 ON retry_task_log_message (namespace_id, group_name, unique_id); @@ -245,7 +244,6 @@ COMMENT ON COLUMN retry_task_log_message.group_name IS '组名称'; COMMENT ON COLUMN retry_task_log_message.unique_id IS '同组下id唯一'; COMMENT ON COLUMN retry_task_log_message.create_dt IS '创建时间'; COMMENT ON COLUMN retry_task_log_message.message IS '异常信息'; -COMMENT ON COLUMN retry_task_log_message.client_info IS '客户端地址 clientId#ip:port'; -- scene_config CREATE TABLE scene_config diff --git a/doc/sql/easy_retry_postgre.sql b/doc/sql/easy_retry_postgre.sql index e4397fbb..f3d9f6b5 100644 --- a/doc/sql/easy_retry_postgre.sql +++ b/doc/sql/easy_retry_postgre.sql @@ -227,7 +227,8 @@ CREATE TABLE retry_task_log_message unique_id VARCHAR(64) NOT NULL, create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, message TEXT NOT NULL, - client_info VARCHAR(128) DEFAULT NULL + log_num INT NOT NULL DEFAULT 1, + real_time BIGINT NOT NULL DEFAULT 0 ); CREATE INDEX idx_namespace_id_group_name_unique_id ON retry_task_log_message (namespace_id, group_name, unique_id); @@ -238,7 +239,8 @@ COMMENT ON COLUMN retry_task_log_message.group_name IS '组名称'; COMMENT ON COLUMN retry_task_log_message.unique_id IS '同组下id唯一'; COMMENT ON COLUMN retry_task_log_message.create_dt IS '创建时间'; COMMENT ON COLUMN retry_task_log_message.message IS '异常信息'; -COMMENT ON COLUMN retry_task_log_message.client_info IS '客户端地址 clientId#ip:port'; +COMMENT ON COLUMN retry_task_log_message.log_num IS '日志条数'; +COMMENT ON COLUMN retry_task_log_message.real_time IS '实际时间'; COMMENT ON TABLE retry_task_log_message IS '任务调度日志信息记录表'; CREATE TABLE scene_config diff --git a/doc/sql/easy_retry_sqlserver.sql b/doc/sql/easy_retry_sqlserver.sql index 57f39ca7..b27269aa 100644 --- a/doc/sql/easy_retry_sqlserver.sql +++ b/doc/sql/easy_retry_sqlserver.sql @@ -1807,8 +1807,7 @@ CREATE TABLE retry_task_log_message group_name nvarchar(64) NOT NULL, unique_id nvarchar(64) NOT NULL, create_dt datetime2 NOT NULL DEFAULT GETDATE(), - message nvarchar(max) NOT NULL, - client_info nvarchar(128) NULL + message nvarchar(max) NOT NULL ) GO @@ -1859,13 +1858,6 @@ EXEC sp_addextendedproperty 'COLUMN', N'message' GO -EXEC sp_addextendedproperty - 'MS_Description', N'客户端地址 clientId#ip:port', - 'SCHEMA', N'dbo', - 'TABLE', N'retry_task_log_message', - 'COLUMN', N'client_info' -GO - EXEC sp_addextendedproperty 'MS_Description', N'任务调度日志信息记录表', 'SCHEMA', N'dbo', diff --git a/easy-retry-client/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/client/RetryEndPoint.java b/easy-retry-client/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/client/RetryEndPoint.java index 0c5c4a95..2c3961e1 100644 --- a/easy-retry-client/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/client/RetryEndPoint.java +++ b/easy-retry-client/easy-retry-client-core/src/main/java/com/aizuda/easy/retry/client/core/client/RetryEndPoint.java @@ -114,15 +114,17 @@ public class RetryEndPoint { } if (Objects.equals(RetryResultStatusEnum.SUCCESS.getStatus(), executeRespDto.getStatusCode())) { - EasyRetryLog.REMOTE.info("remote retry complete. count:[{}] result:[{}]", executeReqDto.getRetryCount(), + EasyRetryLog.REMOTE.info("remote retry【SUCCESS】. count:[{}] result:[{}]", executeReqDto.getRetryCount(), executeRespDto.getResultJson()); - } - if (Objects.equals(RetryResultStatusEnum.STOP.getStatus(), executeRespDto.getStatusCode())) { - EasyRetryLog.REMOTE.warn("remote retry complete. count:[{}] exceptionMsg:[{}]", + } else if (Objects.equals(RetryResultStatusEnum.STOP.getStatus(), executeRespDto.getStatusCode())) { + EasyRetryLog.REMOTE.warn("remote retry 【STOP】. count:[{}] exceptionMsg:[{}]", executeReqDto.getRetryCount(), executeRespDto.getExceptionMsg()); - } else { - EasyRetryLog.REMOTE.error("remote retry complete. count:[{}] ", executeReqDto.getRetryCount(), + } else if (Objects.equals(RetryResultStatusEnum.FAILURE.getStatus(), executeRespDto.getStatusCode())) { + EasyRetryLog.REMOTE.error("remote retry 【FAILURE】. count:[{}] ", executeReqDto.getRetryCount(), retryerResultContext.getThrowable()); + } else { + EasyRetryLog.REMOTE.error("remote retry 【UNKNOWN】. count:[{}] result:[{}]", executeReqDto.getRetryCount(), + executeRespDto.getResultJson(), retryerResultContext.getThrowable()); } } finally { 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 755f1584..836cd66c 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 @@ -138,4 +138,9 @@ public interface SystemConstants { * Easy Retry 认证Token */ String EASY_RETRY_AUTH_TOKEN= "ER-TOKEN"; + + /** + * 日志类型字段 + */ + String JSON_FILED_LOG_TYPE = "logType" ; } diff --git a/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/mapper/RetryTaskLogMessageMapper.java b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/mapper/RetryTaskLogMessageMapper.java index e79cc2d2..ed891a37 100644 --- a/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/mapper/RetryTaskLogMessageMapper.java +++ b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/mapper/RetryTaskLogMessageMapper.java @@ -1,6 +1,5 @@ package com.aizuda.easy.retry.template.datasource.persistence.mapper; -import com.aizuda.easy.retry.template.datasource.persistence.po.JobLogMessage; import com.aizuda.easy.retry.template.datasource.persistence.po.RetryTaskLogMessage; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; diff --git a/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/RetryTaskLogMessage.java b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/RetryTaskLogMessage.java index 2de78316..10f006cc 100644 --- a/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/RetryTaskLogMessage.java +++ b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/RetryTaskLogMessage.java @@ -45,11 +45,6 @@ public class RetryTaskLogMessage implements Serializable { */ private String uniqueId; - /** - * 客户端信息 - */ - private String clientInfo; - /** * 创建时间 */ diff --git a/easy-retry-datasource/easy-retry-mariadb-datasource/src/main/resources/mariadb/mapper/RetryTaskLogMessageMapper.xml b/easy-retry-datasource/easy-retry-mariadb-datasource/src/main/resources/mariadb/mapper/RetryTaskLogMessageMapper.xml index d530475f..72db0ab9 100644 --- a/easy-retry-datasource/easy-retry-mariadb-datasource/src/main/resources/mariadb/mapper/RetryTaskLogMessageMapper.xml +++ b/easy-retry-datasource/easy-retry-mariadb-datasource/src/main/resources/mariadb/mapper/RetryTaskLogMessageMapper.xml @@ -11,12 +11,11 @@ - INSERT INTO retry_task_log_message (namespace_id, group_name, unique_id, log_num, message, - create_dt, real_time, client_info) + create_dt, real_time) VALUES ( @@ -26,8 +25,7 @@ #{item.logNum}, #{item.message}, #{item.createDt}, - #{item.realTime}, - #{item.clientInfo} + #{item.realTime} ) diff --git a/easy-retry-datasource/easy-retry-mysql-datasource/src/main/resources/mysql/mapper/RetryTaskLogMessageMapper.xml b/easy-retry-datasource/easy-retry-mysql-datasource/src/main/resources/mysql/mapper/RetryTaskLogMessageMapper.xml index d530475f..72db0ab9 100644 --- a/easy-retry-datasource/easy-retry-mysql-datasource/src/main/resources/mysql/mapper/RetryTaskLogMessageMapper.xml +++ b/easy-retry-datasource/easy-retry-mysql-datasource/src/main/resources/mysql/mapper/RetryTaskLogMessageMapper.xml @@ -11,12 +11,11 @@ - INSERT INTO retry_task_log_message (namespace_id, group_name, unique_id, log_num, message, - create_dt, real_time, client_info) + create_dt, real_time) VALUES ( @@ -26,8 +25,7 @@ #{item.logNum}, #{item.message}, #{item.createDt}, - #{item.realTime}, - #{item.clientInfo} + #{item.realTime} ) diff --git a/easy-retry-datasource/easy-retry-postgres-datasource/src/main/resources/postgresql/mapper/RetryTaskLogMessageMapper.xml b/easy-retry-datasource/easy-retry-postgres-datasource/src/main/resources/postgresql/mapper/RetryTaskLogMessageMapper.xml index 202b8dc0..86e7881d 100644 --- a/easy-retry-datasource/easy-retry-postgres-datasource/src/main/resources/postgresql/mapper/RetryTaskLogMessageMapper.xml +++ b/easy-retry-datasource/easy-retry-postgres-datasource/src/main/resources/postgresql/mapper/RetryTaskLogMessageMapper.xml @@ -11,4 +11,35 @@ + + INSERT INTO retry_task_log_message (namespace_id, group_name, unique_id, log_num, message, + create_dt, real_time) + VALUES + + ( + #{item.namespaceId}, + #{item.groupName}, + #{item.uniqueId}, + #{item.logNum}, + #{item.message}, + #{item.createDt}, + #{item.realTime} + ) + + + + + UPDATE retry_task_log_message jlm, + ( + + SELECT + #{item.message} AS message, + #{item.logNum} AS log_num, + #{item.id} AS id + + ) tt + SET jlm.message = tt.message, jlm.log_num = tt.log_num + WHERE jlm.id = tt.id + + diff --git a/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/appender/EasyRetryServerLogbackAppender.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/appender/EasyRetryServerLogbackAppender.java index cc861327..354b8c37 100644 --- a/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/appender/EasyRetryServerLogbackAppender.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/appender/EasyRetryServerLogbackAppender.java @@ -7,16 +7,21 @@ import ch.qos.logback.classic.spi.ThrowableProxyUtil; import ch.qos.logback.core.CoreConstants; import ch.qos.logback.core.UnsynchronizedAppenderBase; import cn.hutool.core.util.StrUtil; +import com.aizuda.easy.retry.common.core.constant.SystemConstants; import com.aizuda.easy.retry.common.core.context.SpringContext; import com.aizuda.easy.retry.common.core.util.JsonUtil; import com.aizuda.easy.retry.common.core.util.NetUtil; import com.aizuda.easy.retry.common.log.EasyRetryLog; import com.aizuda.easy.retry.common.log.constant.LogFieldConstants; import com.aizuda.easy.retry.common.log.dto.LogContentDTO; +import com.aizuda.easy.retry.common.log.enums.LogTypeEnum; import com.aizuda.easy.retry.server.common.LogStorage; import com.aizuda.easy.retry.server.common.config.SystemProperties; +import com.aizuda.easy.retry.server.common.dto.JobLogMetaDTO; import com.aizuda.easy.retry.server.common.dto.LogMetaDTO; +import com.aizuda.easy.retry.server.common.dto.RetryLogMetaDTO; import com.aizuda.easy.retry.server.common.log.LogStorageFactory; +import com.fasterxml.jackson.databind.JsonNode; import org.slf4j.MDC; import java.util.Objects; @@ -64,23 +69,37 @@ public class EasyRetryServerLogbackAppender extends UnsynchronizedAppenderBas continue; } - logMetaDTO = JsonUtil.parseObject(extractedData, LogMetaDTO.class); + JsonNode jsonNode = JsonUtil.toJson(extractedData); + if (!jsonNode.has(SystemConstants.JSON_FILED_LOG_TYPE)) { + return; + } + + String name = jsonNode.get(SystemConstants.JSON_FILED_LOG_TYPE).asText(); + if (LogTypeEnum.RETRY.equals(LogTypeEnum.valueOf(name))) { + logMetaDTO = JsonUtil.parseObject(extractedData, RetryLogMetaDTO.class); + } else if (LogTypeEnum.JOB.equals(LogTypeEnum.valueOf(name))) { + logMetaDTO = JsonUtil.parseObject(extractedData, JobLogMetaDTO.class); + } else { + throw new IllegalArgumentException("logType is not support"); + } + String message = event.getFormattedMessage().replaceFirst(patternString, StrUtil.EMPTY); logContentDTO.addMessageField(message); logContentDTO.addTimeStamp(Optional.ofNullable(logMetaDTO.getTimestamp()).orElse(event.getTimeStamp())); break; } + if (Objects.isNull(logMetaDTO)) { + return; + } + + // 保存执行的日志 + saveLog(logContentDTO, logMetaDTO); + } catch (Exception e) { EasyRetryLog.LOCAL.error("日志解析失败. msg:[{}]", event.getFormattedMessage(), e); } - if (Objects.isNull(logMetaDTO)) { - return; - } - - // 保存执行的日志 - saveLog(logContentDTO, logMetaDTO); } /** diff --git a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/dto/JobLogMetaDTO.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/dto/JobLogMetaDTO.java similarity index 93% rename from easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/dto/JobLogMetaDTO.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/dto/JobLogMetaDTO.java index c5ede984..0c4c8878 100644 --- a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/dto/JobLogMetaDTO.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/dto/JobLogMetaDTO.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.job.task.dto; +package com.aizuda.easy.retry.server.common.dto; import com.aizuda.easy.retry.common.core.util.JsonUtil; import com.aizuda.easy.retry.common.log.enums.LogTypeEnum; diff --git a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/dto/RetryLogMetaDTO.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/dto/RetryLogMetaDTO.java similarity index 92% rename from easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/dto/RetryLogMetaDTO.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/dto/RetryLogMetaDTO.java index 041e6dd6..c7ab4413 100644 --- a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/dto/RetryLogMetaDTO.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/dto/RetryLogMetaDTO.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.retry.task.dto; +package com.aizuda.easy.retry.server.common.dto; import com.aizuda.easy.retry.common.core.util.JsonUtil; import com.aizuda.easy.retry.common.log.enums.LogTypeEnum; diff --git a/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/log/LogStorageFactory.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/log/LogStorageFactory.java index c8b3496a..f7bc7493 100644 --- a/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/log/LogStorageFactory.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/log/LogStorageFactory.java @@ -5,6 +5,7 @@ import com.aizuda.easy.retry.server.common.LogStorage; import java.util.HashMap; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; /** * @author: xiaowoniu @@ -13,7 +14,8 @@ import java.util.Map; */ public final class LogStorageFactory { - private static final Map LOG_STORAGE = new HashMap<>(); + private LogStorageFactory() {} + private static final Map LOG_STORAGE = new ConcurrentHashMap<>(); public static void register(LogTypeEnum logType, LogStorage logStorage) { LOG_STORAGE.put(logType, logStorage); diff --git a/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/register/ServerRegister.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/register/ServerRegister.java index 2a76ef29..c1a6bfba 100644 --- a/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/register/ServerRegister.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/register/ServerRegister.java @@ -117,7 +117,7 @@ public class ServerRegister extends AbstractRegister { List serverNodes = serverNodeMapper.selectList( new LambdaQueryWrapper() .eq(ServerNode::getNodeType, NodeTypeEnum.CLIENT.getType()) - .in(ServerNode::getNamespaceId, new HashSet<>(allConsumerGroupName.values())) + .in(ServerNode::getNamespaceId, namespaceIdSets) .in(ServerNode::getGroupName, allConsumerGroupName.keySet())); for (final ServerNode node : serverNodes) { // 刷新全量本地缓存 diff --git a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/JobTaskConverter.java b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/JobTaskConverter.java index 7c376a20..bb62a1e2 100644 --- a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/JobTaskConverter.java +++ b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/JobTaskConverter.java @@ -2,7 +2,7 @@ package com.aizuda.easy.retry.server.job.task.support; import com.aizuda.easy.retry.client.model.request.DispatchJobRequest; import com.aizuda.easy.retry.client.model.request.DispatchJobResultRequest; -import com.aizuda.easy.retry.server.job.task.dto.JobLogMetaDTO; +import com.aizuda.easy.retry.server.common.dto.JobLogMetaDTO; import com.aizuda.easy.retry.server.job.task.dto.*; import com.aizuda.easy.retry.server.job.task.support.block.job.BlockStrategyContext; import com.aizuda.easy.retry.server.job.task.support.executor.workflow.WorkflowExecutorContext; diff --git a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/dispatch/JobLogActor.java b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/dispatch/JobLogActor.java index d3dbe6cd..c379ba0f 100644 --- a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/dispatch/JobLogActor.java +++ b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/dispatch/JobLogActor.java @@ -11,6 +11,7 @@ import com.aizuda.easy.retry.server.model.dto.JobLogTaskDTO; import com.aizuda.easy.retry.server.model.dto.LogTaskDTO; import com.aizuda.easy.retry.template.datasource.persistence.mapper.JobLogMessageMapper; import com.aizuda.easy.retry.template.datasource.persistence.po.JobLogMessage; +import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.config.ConfigurableBeanFactory; @@ -34,10 +35,9 @@ import java.util.stream.Collectors; @Component(ActorGenerator.JOB_LOG_ACTOR) @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) @Slf4j +@RequiredArgsConstructor public class JobLogActor extends AbstractActor { - - @Autowired - private JobLogMessageMapper jobLogMessageMapper; + private final JobLogMessageMapper jobLogMessageMapper; @Override public Receive createReceive() { @@ -89,6 +89,7 @@ public class JobLogActor extends AbstractActor { private void saveLogMessage(JobLogDTO jobLogDTO) { JobLogMessage jobLogMessage = JobTaskConverter.INSTANCE.toJobLogMessage(jobLogDTO); jobLogMessage.setCreateDt(LocalDateTime.now()); + jobLogMessage.setLogNum(1); jobLogMessage.setMessage(Optional.ofNullable(jobLogDTO.getMessage()).orElse(StrUtil.EMPTY)); jobLogMessage.setTaskId(Optional.ofNullable(jobLogMessage.getTaskId()).orElse(0L)); jobLogMessageMapper.insert(jobLogMessage); diff --git a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/executor/job/RequestClientActor.java b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/executor/job/RequestClientActor.java index fb0d30cc..eb910baa 100644 --- a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/executor/job/RequestClientActor.java +++ b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/executor/job/RequestClientActor.java @@ -15,7 +15,7 @@ import com.aizuda.easy.retry.server.common.dto.RegisterNodeInfo; import com.aizuda.easy.retry.server.common.util.DateUtils; import com.aizuda.easy.retry.server.job.task.client.JobRpcClient; import com.aizuda.easy.retry.server.job.task.dto.JobExecutorResultDTO; -import com.aizuda.easy.retry.server.job.task.dto.JobLogMetaDTO; +import com.aizuda.easy.retry.server.common.dto.JobLogMetaDTO; import com.aizuda.easy.retry.server.job.task.dto.RealJobExecutorDTO; import com.aizuda.easy.retry.server.job.task.support.ClientCallbackHandler; import com.aizuda.easy.retry.server.job.task.support.JobTaskConverter; diff --git a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/executor/workflow/CallbackWorkflowExecutor.java b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/executor/workflow/CallbackWorkflowExecutor.java index 0f01222b..262ee0ca 100644 --- a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/executor/workflow/CallbackWorkflowExecutor.java +++ b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/executor/workflow/CallbackWorkflowExecutor.java @@ -12,7 +12,7 @@ import com.aizuda.easy.retry.common.log.EasyRetryLog; import com.aizuda.easy.retry.server.common.client.RequestInterceptor; import com.aizuda.easy.retry.server.common.dto.CallbackConfig; import com.aizuda.easy.retry.server.common.enums.ContentTypeEnum; -import com.aizuda.easy.retry.server.job.task.dto.JobLogMetaDTO; +import com.aizuda.easy.retry.server.common.dto.JobLogMetaDTO; import com.aizuda.easy.retry.server.job.task.support.WorkflowTaskConverter; import com.aizuda.easy.retry.server.model.dto.CallbackParamsDTO; import com.aizuda.easy.retry.template.datasource.persistence.mapper.JobTaskMapper; diff --git a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/executor/workflow/DecisionWorkflowExecutor.java b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/executor/workflow/DecisionWorkflowExecutor.java index f085150a..d5d69f71 100644 --- a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/executor/workflow/DecisionWorkflowExecutor.java +++ b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/executor/workflow/DecisionWorkflowExecutor.java @@ -12,7 +12,7 @@ import com.aizuda.easy.retry.server.common.dto.DecisionConfig; import com.aizuda.easy.retry.server.common.enums.ExpressionTypeEnum; import com.aizuda.easy.retry.server.common.enums.LogicalConditionEnum; import com.aizuda.easy.retry.server.common.exception.EasyRetryServerException; -import com.aizuda.easy.retry.server.job.task.dto.JobLogMetaDTO; +import com.aizuda.easy.retry.server.common.dto.JobLogMetaDTO; import com.aizuda.easy.retry.server.job.task.support.expression.ExpressionInvocationHandler; import com.aizuda.easy.retry.template.datasource.persistence.mapper.JobTaskMapper; import com.aizuda.easy.retry.template.datasource.persistence.po.JobTask; diff --git a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/executor/workflow/JobTaskWorkflowExecutor.java b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/executor/workflow/JobTaskWorkflowExecutor.java index 3a41bd51..4ec5f646 100644 --- a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/executor/workflow/JobTaskWorkflowExecutor.java +++ b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/executor/workflow/JobTaskWorkflowExecutor.java @@ -9,7 +9,7 @@ import com.aizuda.easy.retry.common.core.enums.WorkflowNodeTypeEnum; import com.aizuda.easy.retry.common.log.EasyRetryLog; import com.aizuda.easy.retry.server.common.akka.ActorGenerator; import com.aizuda.easy.retry.server.common.util.DateUtils; -import com.aizuda.easy.retry.server.job.task.dto.JobLogMetaDTO; +import com.aizuda.easy.retry.server.common.dto.JobLogMetaDTO; import com.aizuda.easy.retry.server.job.task.dto.JobTaskPrepareDTO; import com.aizuda.easy.retry.server.job.task.support.JobTaskConverter; import com.aizuda.easy.retry.template.datasource.persistence.po.JobTask; diff --git a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/log/JobLogStorage.java b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/log/JobLogStorage.java index de602dcc..d427c164 100644 --- a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/log/JobLogStorage.java +++ b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/log/JobLogStorage.java @@ -10,7 +10,7 @@ import com.aizuda.easy.retry.server.common.akka.ActorGenerator; import com.aizuda.easy.retry.server.common.dto.LogMetaDTO; import com.aizuda.easy.retry.server.common.log.LogStorageFactory; import com.aizuda.easy.retry.server.job.task.dto.JobLogDTO; -import com.aizuda.easy.retry.server.job.task.dto.JobLogMetaDTO; +import com.aizuda.easy.retry.server.common.dto.JobLogMetaDTO; import com.google.common.collect.Lists; import org.springframework.beans.factory.InitializingBean; import org.springframework.stereotype.Component; diff --git a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/RetryTaskConverter.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/RetryTaskConverter.java index f0534157..bc2955f4 100644 --- a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/RetryTaskConverter.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/RetryTaskConverter.java @@ -2,7 +2,7 @@ package com.aizuda.easy.retry.server.retry.task.support; import com.aizuda.easy.retry.server.model.dto.RetryLogTaskDTO; import com.aizuda.easy.retry.server.model.dto.RetryTaskDTO; -import com.aizuda.easy.retry.server.retry.task.dto.RetryLogMetaDTO; +import com.aizuda.easy.retry.server.common.dto.RetryLogMetaDTO; import com.aizuda.easy.retry.server.retry.task.dto.NotifyConfigPartitionTask; import com.aizuda.easy.retry.server.retry.task.dto.RetryPartitionTask; import com.aizuda.easy.retry.server.retry.task.generator.task.TaskContext; diff --git a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/actor/exec/ExecCallbackUnitActor.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/actor/exec/ExecCallbackUnitActor.java index f1d6cd9d..f31814f7 100644 --- a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/actor/exec/ExecCallbackUnitActor.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/actor/exec/ExecCallbackUnitActor.java @@ -13,7 +13,7 @@ import com.aizuda.easy.retry.server.common.dto.RegisterNodeInfo; import com.aizuda.easy.retry.server.common.exception.EasyRetryServerException; import com.aizuda.easy.retry.server.common.util.DateUtils; import com.aizuda.easy.retry.server.retry.task.client.RetryRpcClient; -import com.aizuda.easy.retry.server.retry.task.dto.RetryLogMetaDTO; +import com.aizuda.easy.retry.server.common.dto.RetryLogMetaDTO; import com.aizuda.easy.retry.server.retry.task.support.RetryTaskConverter; import com.aizuda.easy.retry.server.retry.task.support.context.CallbackRetryContext; import com.aizuda.easy.retry.server.retry.task.support.handler.CallbackRetryTaskHandler; diff --git a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/actor/exec/ExecUnitActor.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/actor/exec/ExecUnitActor.java index 85bae2fc..1af0a9a1 100644 --- a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/actor/exec/ExecUnitActor.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/actor/exec/ExecUnitActor.java @@ -15,7 +15,7 @@ import com.aizuda.easy.retry.server.common.client.RequestBuilder; import com.aizuda.easy.retry.server.common.dto.RegisterNodeInfo; import com.aizuda.easy.retry.server.common.util.DateUtils; import com.aizuda.easy.retry.server.retry.task.client.RetryRpcClient; -import com.aizuda.easy.retry.server.retry.task.dto.RetryLogMetaDTO; +import com.aizuda.easy.retry.server.common.dto.RetryLogMetaDTO; import com.aizuda.easy.retry.server.retry.task.support.RetryTaskConverter; import com.aizuda.easy.retry.server.retry.task.support.context.MaxAttemptsPersistenceRetryContext; import com.aizuda.easy.retry.server.retry.task.support.retry.RetryExecutor; diff --git a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/actor/log/RetryLogActor.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/actor/log/RetryLogActor.java index ffefc30d..a67df185 100644 --- a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/actor/log/RetryLogActor.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/actor/log/RetryLogActor.java @@ -9,6 +9,7 @@ import com.aizuda.easy.retry.server.model.dto.RetryLogTaskDTO; import com.aizuda.easy.retry.server.retry.task.support.RetryTaskConverter; import com.aizuda.easy.retry.template.datasource.persistence.mapper.RetryTaskLogMessageMapper; import com.aizuda.easy.retry.template.datasource.persistence.po.RetryTaskLogMessage; +import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.config.ConfigurableBeanFactory; @@ -33,11 +34,9 @@ import java.util.stream.Collectors; */ @Component(ActorGenerator.LOG_ACTOR) @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) -@Slf4j +@RequiredArgsConstructor public class RetryLogActor extends AbstractActor { - - @Autowired - private RetryTaskLogMessageMapper retryTaskLogMessageMapper; + private final RetryTaskLogMessageMapper retryTaskLogMessageMapper; @Override public Receive createReceive() { @@ -88,8 +87,10 @@ public class RetryLogActor extends AbstractActor { RetryTaskLogMessage retryTaskLogMessage = new RetryTaskLogMessage(); retryTaskLogMessage.setUniqueId(retryTaskLogDTO.getUniqueId()); retryTaskLogMessage.setGroupName(retryTaskLogDTO.getGroupName()); - retryTaskLogMessage.setClientInfo(retryTaskLogDTO.getClientInfo()); +// retryTaskLogMessage.setClientInfo(retryTaskLogDTO.getClientInfo()); retryTaskLogMessage.setNamespaceId(retryTaskLogDTO.getNamespaceId()); + retryTaskLogMessage.setLogNum(1); + retryTaskLogMessage.setRealTime(retryTaskLogDTO.getRealTime()); String errorMessage = retryTaskLogDTO.getMessage(); retryTaskLogMessage.setMessage( StrUtil.isBlank(errorMessage) ? StrUtil.EMPTY : errorMessage); diff --git a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/task/AbstractTaskExecutor.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/task/AbstractTaskExecutor.java index 4f208f39..650a4ac1 100644 --- a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/task/AbstractTaskExecutor.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/task/AbstractTaskExecutor.java @@ -7,7 +7,7 @@ import com.aizuda.easy.retry.server.common.config.SystemProperties; import com.aizuda.easy.retry.server.common.handler.ClientNodeAllocateHandler; import com.aizuda.easy.retry.server.common.IdempotentStrategy; import com.aizuda.easy.retry.server.common.util.DateUtils; -import com.aizuda.easy.retry.server.retry.task.dto.RetryLogMetaDTO; +import com.aizuda.easy.retry.server.common.dto.RetryLogMetaDTO; import com.aizuda.easy.retry.server.retry.task.support.RetryContext; import com.aizuda.easy.retry.server.retry.task.support.RetryTaskConverter; import com.aizuda.easy.retry.server.retry.task.support.retry.RetryExecutor; @@ -65,20 +65,10 @@ public abstract class AbstractTaskExecutor implements TaskExecutor, Initializing retryTask.getGroupName(), retryTask.getUniqueId(), pair.getValue().toString()); - // 记录日志 -// RetryTaskLogDTO retryTaskLog = new RetryTaskLogDTO(); -// retryTaskLog.setGroupName(retryTask.getGroupName()); -// retryTaskLog.setUniqueId(retryTask.getUniqueId()); -// retryTaskLog.setRetryStatus(retryTask.getRetryStatus()); -// retryTaskLog.setMessage(pair.getValue().toString()); -// retryTaskLog.setTriggerTime(LocalDateTime.now()); -// ActorRef actorRef = ActorGenerator.logActor(); - RetryLogMetaDTO retryLogMetaDTO = RetryTaskConverter.INSTANCE.toLogMetaDTO(retryTask); retryLogMetaDTO.setTimestamp(DateUtils.toNowMilli()); EasyRetryLog.REMOTE.error("触发条件不满足 原因: [{}] <|>{}<|>", pair.getValue().toString(), retryLogMetaDTO); - return false; } diff --git a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/task/RetryTaskExecutor.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/task/RetryTaskExecutor.java index 3983143f..6e5d1fcb 100644 --- a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/task/RetryTaskExecutor.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/task/RetryTaskExecutor.java @@ -50,7 +50,6 @@ public class RetryTaskExecutor extends AbstractTaskExecutor { .withStopStrategy(StopStrategies.stopException()) .withStopStrategy(StopStrategies.stopResultStatusCode()) .withWaitStrategy(getWaitWaitStrategy(sceneConfig)) -// .withFilterStrategy(FilterStrategies.triggerAtFilter()) .withFilterStrategy(FilterStrategies.bitSetIdempotentFilter(idempotentStrategy)) .withFilterStrategy(FilterStrategies.sceneBlackFilter()) .withFilterStrategy(FilterStrategies.checkAliveClientPodFilter()) diff --git a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/log/RetryLogStorage.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/log/RetryLogStorage.java index 130c114f..85c14ce1 100644 --- a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/log/RetryLogStorage.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/log/RetryLogStorage.java @@ -9,7 +9,7 @@ import com.aizuda.easy.retry.server.common.LogStorage; import com.aizuda.easy.retry.server.common.akka.ActorGenerator; import com.aizuda.easy.retry.server.common.dto.LogMetaDTO; import com.aizuda.easy.retry.server.common.log.LogStorageFactory; -import com.aizuda.easy.retry.server.retry.task.dto.RetryLogMetaDTO; +import com.aizuda.easy.retry.server.common.dto.RetryLogMetaDTO; import com.aizuda.easy.retry.server.retry.task.support.dispatch.actor.log.RetryTaskLogDTO; import com.google.common.collect.Lists; import org.springframework.beans.factory.InitializingBean; @@ -29,24 +29,24 @@ public class RetryLogStorage implements LogStorage, InitializingBean { @Override public LogTypeEnum logType() { - return LogTypeEnum.JOB; + return LogTypeEnum.RETRY; } @Override public void storage(final LogContentDTO logContentDTO, final LogMetaDTO logMetaDTO) { RetryLogMetaDTO retryLogMetaDTO = (RetryLogMetaDTO) logMetaDTO; - RetryTaskLogDTO jobLogDTO = new RetryTaskLogDTO(); + RetryTaskLogDTO retryTaskLogDTO = new RetryTaskLogDTO(); Map messageMap = logContentDTO.getFieldList() .stream() .filter(logTaskDTO_ -> !Objects.isNull(logTaskDTO_.getValue())) .collect(Collectors.toMap(TaskLogFieldDTO::getName, TaskLogFieldDTO::getValue)); - jobLogDTO.setMessage(JsonUtil.toJsonString(Lists.newArrayList(messageMap))); - jobLogDTO.setGroupName(retryLogMetaDTO.getGroupName()); - jobLogDTO.setNamespaceId(retryLogMetaDTO.getNamespaceId()); - jobLogDTO.setUniqueId(retryLogMetaDTO.getUniqueId()); - jobLogDTO.setRealTime(retryLogMetaDTO.getTimestamp()); - ActorRef actorRef = ActorGenerator.jobLogActor(); - actorRef.tell(jobLogDTO, actorRef); + retryTaskLogDTO.setMessage(JsonUtil.toJsonString(Lists.newArrayList(messageMap))); + retryTaskLogDTO.setGroupName(retryLogMetaDTO.getGroupName()); + retryTaskLogDTO.setNamespaceId(retryLogMetaDTO.getNamespaceId()); + retryTaskLogDTO.setUniqueId(retryLogMetaDTO.getUniqueId()); + retryTaskLogDTO.setRealTime(retryLogMetaDTO.getTimestamp()); + ActorRef actorRef = ActorGenerator.logActor(); + actorRef.tell(retryTaskLogDTO, actorRef); } @Override diff --git a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/retry/RetryExecutor.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/retry/RetryExecutor.java index 14d43052..1cb3b060 100644 --- a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/retry/RetryExecutor.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/retry/RetryExecutor.java @@ -5,7 +5,7 @@ import cn.hutool.core.lang.Pair; import com.aizuda.easy.retry.common.log.EasyRetryLog; import com.aizuda.easy.retry.server.common.akka.ActorGenerator; import com.aizuda.easy.retry.server.common.util.DateUtils; -import com.aizuda.easy.retry.server.retry.task.dto.RetryLogMetaDTO; +import com.aizuda.easy.retry.server.common.dto.RetryLogMetaDTO; import com.aizuda.easy.retry.server.retry.task.support.FilterStrategy; import com.aizuda.easy.retry.server.retry.task.support.RetryContext; import com.aizuda.easy.retry.server.retry.task.support.RetryTaskConverter; diff --git a/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/starter/server/handler/ReportLogHttpRequestHandler.java b/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/starter/server/handler/ReportLogHttpRequestHandler.java index 7a2edd8f..677fbc9b 100644 --- a/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/starter/server/handler/ReportLogHttpRequestHandler.java +++ b/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/starter/server/handler/ReportLogHttpRequestHandler.java @@ -3,6 +3,7 @@ package com.aizuda.easy.retry.server.starter.server.handler; import akka.actor.ActorRef; import cn.hutool.core.lang.Assert; import cn.hutool.core.net.url.UrlQuery; +import com.aizuda.easy.retry.common.core.constant.SystemConstants; import com.aizuda.easy.retry.common.core.enums.HeadersEnum; import com.aizuda.easy.retry.common.core.enums.StatusEnum; import com.aizuda.easy.retry.common.core.model.EasyRetryRequest; @@ -25,6 +26,7 @@ import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; import java.util.List; +import java.util.Objects; import static com.aizuda.easy.retry.common.core.constant.SystemConstants.HTTP_PATH.BATCH_LOG_REPORT; @@ -52,7 +54,7 @@ public class ReportLogHttpRequestHandler extends PostHttpRequestHandler { @Override public String doHandler(String content, UrlQuery urlQuery, HttpHeaders headers) { - EasyRetryLog.LOCAL.info("Begin Handler Log Report Data. [{}]", content); + EasyRetryLog.LOCAL.debug("Begin Handler Log Report Data. [{}]", content); EasyRetryRequest retryRequest = JsonUtil.parseObject(content, EasyRetryRequest.class); Object[] args = retryRequest.getArgs(); @@ -62,11 +64,13 @@ public class ReportLogHttpRequestHandler extends PostHttpRequestHandler { List retryTasks = Lists.newArrayList(); List jobTasks = Lists.newArrayList(); for (final JsonNode node : jsonNode) { - if (node.findValue(JSON_FILED).asText().equals(LogTypeEnum.JOB.name())) { + JsonNode value = node.findValue(SystemConstants.JSON_FILED_LOG_TYPE); + if (Objects.isNull(value) || value.asText().equals(LogTypeEnum.JOB.name())) { jobTasks.add(JsonUtil.parseObject(node.toPrettyString(), JobLogTaskDTO.class)); + continue; } - if (node.findValue(JSON_FILED).asText().equals(LogTypeEnum.RETRY.name())) { + if (value.asText().equals(LogTypeEnum.RETRY.name())) { retryTasks.add(JsonUtil.parseObject(node.toPrettyString(), RetryLogTaskDTO.class)); } } @@ -78,10 +82,6 @@ public class ReportLogHttpRequestHandler extends PostHttpRequestHandler { } if (!CollectionUtils.isEmpty(retryTasks)) { - String clintInfo = getClientInfo(headers); - for (final RetryLogTaskDTO retryTask : retryTasks) { - retryTask.setClientInfo(clintInfo); - } ActorRef actorRef = ActorGenerator.logActor(); actorRef.tell(retryTasks, actorRef); } diff --git a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/RetryTaskLogServiceImpl.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/RetryTaskLogServiceImpl.java index fe778422..65e88107 100644 --- a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/RetryTaskLogServiceImpl.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/RetryTaskLogServiceImpl.java @@ -146,11 +146,6 @@ public class RetryTaskLogServiceImpl implements RetryTaskLogService { int size = originalList.size() - fromIndex; List> pageList = originalList.stream().skip(fromIndex).limit(queryVO.getSize()) .collect(Collectors.toList()); - - Map map = new HashMap<>(1); - map.put("clientInfo", retryTaskLogMessage.getClientInfo()); - originalList.add(map); - if (messages.size() + size >= queryVO.getSize()) { messages.addAll(pageList); nextStartId = retryTaskLogMessage.getId(); @@ -161,8 +156,6 @@ public class RetryTaskLogServiceImpl implements RetryTaskLogService { messages.addAll(pageList); nextStartId = retryTaskLogMessage.getId() + 1; fromIndex = 0; - - } messages = messages.stream().sorted((o1, o2) -> { diff --git a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/RetryTaskServiceImpl.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/RetryTaskServiceImpl.java index 95f944f2..0701a5ee 100644 --- a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/RetryTaskServiceImpl.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/RetryTaskServiceImpl.java @@ -7,6 +7,7 @@ import com.aizuda.easy.retry.common.core.enums.RetryStatusEnum; import com.aizuda.easy.retry.common.core.enums.StatusEnum; import com.aizuda.easy.retry.common.core.model.Result; import com.aizuda.easy.retry.common.core.util.JsonUtil; +import com.aizuda.easy.retry.common.log.EasyRetryLog; import com.aizuda.easy.retry.server.common.WaitStrategy; import com.aizuda.easy.retry.server.common.cache.CacheRegisterTable; import com.aizuda.easy.retry.server.common.client.RequestBuilder; @@ -19,9 +20,11 @@ import com.aizuda.easy.retry.server.common.strategy.WaitStrategies.WaitStrategyE import com.aizuda.easy.retry.server.common.util.DateUtils; import com.aizuda.easy.retry.server.model.dto.RetryTaskDTO; import com.aizuda.easy.retry.server.retry.task.client.RetryRpcClient; +import com.aizuda.easy.retry.server.common.dto.RetryLogMetaDTO; import com.aizuda.easy.retry.server.retry.task.generator.task.TaskContext; import com.aizuda.easy.retry.server.retry.task.generator.task.TaskGenerator; import com.aizuda.easy.retry.server.common.handler.ClientNodeAllocateHandler; +import com.aizuda.easy.retry.server.retry.task.support.RetryTaskConverter; import com.aizuda.easy.retry.server.retry.task.support.dispatch.task.TaskExecutor; import com.aizuda.easy.retry.server.retry.task.support.dispatch.task.TaskExecutorSceneEnum; import com.aizuda.easy.retry.server.web.model.base.PageResult; @@ -45,7 +48,6 @@ import com.aizuda.easy.retry.template.datasource.persistence.mapper.RetryTaskLog import com.aizuda.easy.retry.template.datasource.persistence.po.GroupConfig; import com.aizuda.easy.retry.template.datasource.persistence.po.RetryTask; import com.aizuda.easy.retry.template.datasource.persistence.po.RetryTaskLog; -import com.aizuda.easy.retry.template.datasource.persistence.po.RetryTaskLogMessage; import com.aizuda.easy.retry.template.datasource.persistence.po.SceneConfig; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; @@ -78,8 +80,6 @@ public class RetryTaskServiceImpl implements RetryTaskService { @Autowired private ClientNodeAllocateHandler clientNodeAllocateHandler; @Autowired - private RetryTaskLogMessageMapper retryTaskLogMessageMapper; - @Autowired private RetryTaskLogMapper retryTaskLogMapper; @Autowired private AccessTemplate accessTemplate; @@ -178,12 +178,9 @@ public class RetryTaskServiceImpl implements RetryTaskService { } if (RetryStatusEnum.FINISH.getStatus().equals(retryStatusEnum.getStatus())) { - RetryTaskLogMessage retryTaskLogMessage = new RetryTaskLogMessage(); - retryTaskLogMessage.setUniqueId(retryTask.getUniqueId()); - retryTaskLogMessage.setGroupName(retryTask.getGroupName()); - retryTaskLogMessage.setMessage("手动操作完成"); - retryTaskLogMessage.setCreateDt(LocalDateTime.now()); - retryTaskLogMessageMapper.insert(retryTaskLogMessage); + RetryLogMetaDTO retryLogMetaDTO = RetryTaskConverter.INSTANCE.toLogMetaDTO(retryTask); + retryLogMetaDTO.setTimestamp(DateUtils.toNowMilli()); + EasyRetryLog.REMOTE.info("=============手动操作完成============. <|>{}<|>", retryLogMetaDTO); } RetryTaskLog retryTaskLog = new RetryTaskLog();