From f0559fefd5051b061b412ba6bbd5b28d8aeb28dd Mon Sep 17 00:00:00 2001
From: opensnail <598092184@qq.com>
Date: Wed, 25 Dec 2024 23:38:36 +0800
Subject: [PATCH] =?UTF-8?q?feat:(1.3.0-beta1):=20=E4=BC=98=E5=8C=96?=
=?UTF-8?q?=E9=80=9A=E7=9F=A5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 41 +--
.../persistence/po/NotifyConfig.java | 10 +-
.../starter/schedule/RefreshNodeSchedule.java | 256 ------------------
.../model/request/NotifyConfigRequestVO.java | 7 -
.../service/impl/NotifyConfigServiceImpl.java | 1 -
5 files changed, 26 insertions(+), 289 deletions(-)
delete mode 100644 snail-job-server/snail-job-server-starter/src/main/java/com/aizuda/snailjob/server/starter/schedule/RefreshNodeSchedule.java
diff --git a/pom.xml b/pom.xml
index 70e48d81f..1ca0d4d73 100644
--- a/pom.xml
+++ b/pom.xml
@@ -287,26 +287,26 @@
release
-
- org.apache.maven.plugins
- maven-gpg-plugin
- 1.6
-
-
- verify
-
- sign
-
-
-
-
- --pinentry-mode
- loopback
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
org.apache.maven.plugins
@@ -334,6 +334,7 @@
none
+ ${java.home}/bin/javadoc
diff --git a/snail-job-datasource/snail-job-datasource-template/src/main/java/com/aizuda/snailjob/template/datasource/persistence/po/NotifyConfig.java b/snail-job-datasource/snail-job-datasource-template/src/main/java/com/aizuda/snailjob/template/datasource/persistence/po/NotifyConfig.java
index 8cc4e3e86..62ecb08b7 100644
--- a/snail-job-datasource/snail-job-datasource-template/src/main/java/com/aizuda/snailjob/template/datasource/persistence/po/NotifyConfig.java
+++ b/snail-job-datasource/snail-job-datasource-template/src/main/java/com/aizuda/snailjob/template/datasource/persistence/po/NotifyConfig.java
@@ -17,11 +17,11 @@ public class NotifyConfig extends CreateUpdateDt {
private String namespaceId;
private String groupName;
-
- /**
- * 业务id (scene_name或job_id或workflow_id)
- */
- private String businessId;
+//
+// /**
+// * 业务id (scene_name或job_id或workflow_id)
+// */
+// private String businessId;
/**
* 任务类型 1、重试任务 2、回调任务、 3、JOB任务 4、WORKFLOW任务
diff --git a/snail-job-server/snail-job-server-starter/src/main/java/com/aizuda/snailjob/server/starter/schedule/RefreshNodeSchedule.java b/snail-job-server/snail-job-server-starter/src/main/java/com/aizuda/snailjob/server/starter/schedule/RefreshNodeSchedule.java
deleted file mode 100644
index 9344e1387..000000000
--- a/snail-job-server/snail-job-server-starter/src/main/java/com/aizuda/snailjob/server/starter/schedule/RefreshNodeSchedule.java
+++ /dev/null
@@ -1,256 +0,0 @@
-//package com.aizuda.snailjob.server.starter.schedule;
-//
-//import cn.hutool.core.collection.CollUtil;
-//import com.aizuda.snailjob.common.core.enums.NodeTypeEnum;
-//import com.aizuda.snailjob.common.core.model.Result;
-//import com.aizuda.snailjob.common.core.util.JsonUtil;
-//import com.aizuda.snailjob.common.core.util.NetUtil;
-//import com.aizuda.snailjob.common.log.SnailJobLog;
-//import com.aizuda.snailjob.server.common.Lifecycle;
-//import com.aizuda.snailjob.server.common.config.SystemProperties;
-//import com.aizuda.snailjob.server.common.dto.RegisterNodeInfo;
-//import com.aizuda.snailjob.server.common.rpc.client.RequestBuilder;
-//import com.aizuda.snailjob.server.common.schedule.AbstractSchedule;
-//import com.aizuda.snailjob.server.common.triple.Pair;
-//import com.aizuda.snailjob.server.job.task.server.ServerRpcClient;
-//import com.aizuda.snailjob.server.job.task.support.request.GetRegNodesPostHttpRequestHandler;
-//import com.aizuda.snailjob.template.datasource.persistence.mapper.ServerNodeMapper;
-//import com.aizuda.snailjob.template.datasource.persistence.po.ServerNode;
-//import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-//import com.fasterxml.jackson.core.type.TypeReference;
-//import com.google.common.collect.Lists;
-//import com.google.common.collect.Sets;
-//import lombok.RequiredArgsConstructor;
-//import lombok.extern.slf4j.Slf4j;
-//import org.springframework.dao.DuplicateKeyException;
-//import org.springframework.stereotype.Component;
-//
-//import java.time.Duration;
-//import java.time.Instant;
-//import java.time.LocalDateTime;
-//import java.util.ArrayList;
-//import java.util.List;
-//import java.util.Objects;
-//import java.util.Set;
-//import java.util.concurrent.*;
-//import java.util.stream.Collectors;
-//
-//import static com.aizuda.snailjob.server.common.register.ClientRegister.DELAY_TIME;
-//
-//
-//@Component
-//@Slf4j
-//@RequiredArgsConstructor
-//public class RefreshNodeSchedule extends AbstractSchedule implements Lifecycle {
-// private final ServerNodeMapper serverNodeMapper;
-//
-// private final SystemProperties systemProperties;
-//
-// ExecutorService executorService = Executors.newFixedThreadPool(5);
-//
-// @Override
-// protected void doExecute() {
-// int nettyPort = systemProperties.getNettyPort();
-// String localIpStr = NetUtil.getLocalIpStr();
-// try {
-// // 获取在线的客户端节点并且排除当前节点
-// LambdaQueryWrapper wrapper = new LambdaQueryWrapper()
-// .eq(ServerNode::getNodeType, NodeTypeEnum.SERVER.getType())
-// .not(w -> w.eq(ServerNode::getHostIp, localIpStr)
-// .eq(ServerNode::getHostPort, nettyPort));
-// List serverNodes = serverNodeMapper.selectList(wrapper);
-// List clientNodes = new ArrayList<>();
-// if (serverNodes.size() > 0) {
-// // 并行获取所有服务端需要注册的列表
-// // 获取列表 并完成注册/本地完成续签
-// List allClientList = getAllClientList(serverNodes);
-// if (CollUtil.isNotEmpty(allClientList)) {
-// clientNodes.addAll(allClientList);
-// }
-// List refreshCache = GetRegNodesPostHttpRequestHandler.getAndRefreshCache();
-// if (CollUtil.isNotEmpty(refreshCache)) {
-// // 完成本节点的刷新
-// clientNodes.addAll(refreshCache);
-// }
-// } else {
-// List refreshCache = GetRegNodesPostHttpRequestHandler.getAndRefreshCache();
-// if (CollUtil.isNotEmpty(refreshCache)) {
-// // 完成本节点的刷新
-// clientNodes.addAll(refreshCache);
-// }
-// }
-// if (CollUtil.isEmpty(clientNodes)) {
-// SnailJobLog.LOCAL.warn("clientNodes is empty");
-// return;
-// }
-// SnailJobLog.LOCAL.info("start refresh client nodes:{}", clientNodes);
-// refreshExpireAt(clientNodes);
-//
-// } catch (Exception e) {
-// SnailJobLog.LOCAL.error("refresh 失败", e);
-// }
-// }
-//
-// private List getAllClientList(List serverNodes) {
-// int size = serverNodes.size();
-// // 创建 CountDownLatch
-// CountDownLatch latch = new CountDownLatch(size);
-//
-// // 存储处理结果
-// List> futures = new ArrayList<>(size);
-//
-// try {
-// for (ServerNode serverNode : serverNodes) {
-// Future future = executorService.submit(() -> {
-// try {
-// RegisterNodeInfo nodeInfo = new RegisterNodeInfo();
-// nodeInfo.setHostId(serverNode.getHostId());
-// nodeInfo.setGroupName(serverNode.getGroupName());
-// nodeInfo.setNamespaceId(serverNode.getNamespaceId());
-// nodeInfo.setHostPort(serverNode.getHostPort());
-// nodeInfo.setHostIp(serverNode.getHostIp());
-// ServerRpcClient serverRpcClient = buildRpcClient(nodeInfo);
-// Result regNodesAndFlush = serverRpcClient.getRegNodesAndFlush();
-//
-// // 模拟耗时处理
-// return regNodesAndFlush.getData();
-// } finally {
-// // 处理完成后计数减一
-// latch.countDown();
-// }
-// });
-// futures.add(future);
-// }
-// // 提交任务
-//
-// // 等待所有任务完成
-// latch.await(5, TimeUnit.SECONDS); // 设置超时时间为5秒
-//
-// return futures.stream()
-// .map(future -> {
-// try {
-// String jsonString = future.get(1, TimeUnit.SECONDS);
-// if (Objects.nonNull(jsonString)) {
-// return JsonUtil.parseObject(jsonString, new TypeReference>() {
-// });
-// }
-// return new ArrayList();
-// } catch (Exception e) {
-// return new ArrayList();
-// }
-// })
-// .filter(Objects::nonNull)
-// .flatMap(List::stream)
-// .distinct()
-// .toList();
-// // 收集处理结果
-//
-// } catch (InterruptedException e) {
-// throw new RuntimeException(e);
-// }
-// }
-//
-// @Override
-// public String lockName() {
-// return "registerNode";
-// }
-//
-// @Override
-// public String lockAtMost() {
-// return "PT10S";
-// }
-//
-// @Override
-// public String lockAtLeast() {
-// return "PT5S";
-// }
-//
-// @Override
-// public void start() {
-// taskScheduler.scheduleWithFixedDelay(this::execute, Instant.now(), Duration.parse("PT5S"));
-// }
-//
-// @Override
-// public void close() {
-//
-// }
-//
-// private ServerRpcClient buildRpcClient(RegisterNodeInfo registerNodeInfo) {
-//// String regInfo = registerNodeInfo.getHostId() + "/" + registerNodeInfo.getHostIp() + "/" + registerNodeInfo.getHostPort();
-//// log.info(regInfo + "--------------------------");
-// int maxRetryTimes = 3;
-// boolean retry = false;
-// return RequestBuilder.newBuilder()
-// .nodeInfo(registerNodeInfo)
-// .failRetry(maxRetryTimes > 0 && !retry)
-// .retryTimes(maxRetryTimes)
-// .client(ServerRpcClient.class)
-// .build();
-// }
-//
-// private void refreshExpireAt(List serverNodes) {
-// if (CollUtil.isEmpty(serverNodes)) {
-// return;
-// }
-//
-// Set hostIds = Sets.newHashSet();
-// Set hostIps = Sets.newHashSet();
-// for (final ServerNode serverNode : serverNodes) {
-// serverNode.setExpireAt(getExpireAt());
-// hostIds.add(serverNode.getHostId());
-// hostIps.add(serverNode.getHostIp());
-// }
-//
-// List dbServerNodes = serverNodeMapper.selectList(
-// new LambdaQueryWrapper()
-// .select(ServerNode::getHostIp, ServerNode::getHostId)
-// .in(ServerNode::getHostId, hostIds)
-// .in(ServerNode::getHostIp, hostIps)
-// );
-//
-// List insertDBs = Lists.newArrayList();
-// List updateDBs = Lists.newArrayList();
-// Set> pairs = dbServerNodes.stream()
-// .map(serverNode -> Pair.of(serverNode.getHostId(), serverNode.getHostIp())).collect(
-// Collectors.toSet());
-//
-// // 去重处理
-// Set> existed = Sets.newHashSet();
-// for (final ServerNode serverNode : serverNodes) {
-// Pair pair = Pair.of(serverNode.getHostId(), serverNode.getHostIp());
-// if (existed.contains(pair)) {
-// continue;
-// }
-//
-// if (pairs.contains(pair)) {
-// updateDBs.add(serverNode);
-// } else {
-// insertDBs.add(serverNode);
-// }
-//
-// existed.add(pair);
-// }
-//
-// try {
-// // 批量更新
-// if (CollUtil.isNotEmpty(updateDBs)) {
-// serverNodeMapper.updateBatchExpireAt(updateDBs);
-// }
-// } catch (Exception e) {
-// SnailJobLog.LOCAL.error("续租失败", e);
-// }
-//
-// try {
-// if (CollUtil.isNotEmpty(insertDBs)) {
-// serverNodeMapper.insertBatch(insertDBs);
-// }
-// } catch (DuplicateKeyException ignored) {
-// } catch (Exception e) {
-// SnailJobLog.LOCAL.error("注册节点失败", e);
-// }
-// }
-//
-// private LocalDateTime getExpireAt() {
-// return LocalDateTime.now().plusSeconds(DELAY_TIME);
-// }
-//}
diff --git a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/model/request/NotifyConfigRequestVO.java b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/model/request/NotifyConfigRequestVO.java
index 4ef1bcba4..2c5762a5e 100644
--- a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/model/request/NotifyConfigRequestVO.java
+++ b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/model/request/NotifyConfigRequestVO.java
@@ -22,13 +22,6 @@ public class NotifyConfigRequestVO {
@Pattern(regexp = "^[A-Za-z0-9_-]{1,64}$", message = "仅支持长度为1~64字符且类型为数字、字母、下划线和短横线")
private String groupName;
- /**
- * 业务id (scene_name或job_id或workflow_id)
- */
- //@NotBlank(message = "业务id不能为空")
- @Deprecated
- private String businessId;
-
/**
* 任务类型 1、重试任务 2、回调任务、 3、JOB任务 4、WORKFLOW任务
*/
diff --git a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/NotifyConfigServiceImpl.java b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/NotifyConfigServiceImpl.java
index 3be861ba0..21794f93c 100644
--- a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/NotifyConfigServiceImpl.java
+++ b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/NotifyConfigServiceImpl.java
@@ -50,7 +50,6 @@ public class NotifyConfigServiceImpl implements NotifyConfigService {
.eq(NotifyConfig::getNamespaceId, userSessionVO.getNamespaceId())
.in(CollUtil.isNotEmpty(groupNames), NotifyConfig::getGroupName, groupNames)
.eq(StrUtil.isNotBlank(queryVO.getGroupName()), NotifyConfig::getGroupName, queryVO.getGroupName())
- .eq(StrUtil.isNotBlank(queryVO.getSceneName()), NotifyConfig::getBusinessId, queryVO.getSceneName())
.orderByDesc(NotifyConfig::getId))
.getRecords();