diff --git a/easy-retry-server/easy-retry-server-common/.gitignore b/easy-retry-server/easy-retry-server-common/.gitignore new file mode 100644 index 00000000..5ff6309b --- /dev/null +++ b/easy-retry-server/easy-retry-server-common/.gitignore @@ -0,0 +1,38 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/easy-retry-server/easy-retry-server-common/pom.xml b/easy-retry-server/easy-retry-server-common/pom.xml new file mode 100644 index 00000000..2befcf2a --- /dev/null +++ b/easy-retry-server/easy-retry-server-common/pom.xml @@ -0,0 +1,110 @@ + + + 4.0.0 + + com.aizuda + easy-retry-server + ${revision} + ../pom.xml + + + easy-retry-server-common + jar + + + 8 + 8 + UTF-8 + + + + + org.springframework.boot + spring-boot-starter-web + + + com.typesafe.akka + akka-actor-typed_2.13 + + + com.typesafe.akka + akka-actor-testkit-typed_2.13 + + + com.google.guava + guava + + + org.projectlombok + lombok + true + + + com.aizuda + easy-retry-common-core + + + io.netty + netty-transport + + + io.netty + netty-codec-http + + + com.aizuda + easy-retry-common-client-api + + + com.aizuda + easy-retry-common-client-api + + + com.aizuda + easy-retry-datasource-template + + + org.perf4j + perf4j + + + org.mapstruct + mapstruct + + + org.mapstruct + mapstruct-processor + + + org.springframework.boot + spring-boot-configuration-processor + true + + + com.squareup.okhttp3 + okhttp + + + + + + org.springframework.boot + spring-boot-maven-plugin + + none + execute + + + + + repackage + + + + + + + + diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/ClientLoadBalance.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/ClientLoadBalance.java similarity index 83% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/ClientLoadBalance.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/ClientLoadBalance.java index e140c75c..6f2922c5 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/ClientLoadBalance.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/ClientLoadBalance.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.support; +package com.aizuda.easy.retry.server.common; import java.util.TreeSet; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/Lifecycle.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/Lifecycle.java similarity index 83% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/Lifecycle.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/Lifecycle.java index 930c7064..90f53fc2 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/Lifecycle.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/Lifecycle.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.support; +package com.aizuda.easy.retry.server.common; /** * 组件生命周期 diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/Register.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/Register.java similarity index 78% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/Register.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/Register.java index cdec3f92..2dbf40b0 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/Register.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/Register.java @@ -1,7 +1,7 @@ -package com.aizuda.easy.retry.server.support; +package com.aizuda.easy.retry.server.common; import com.aizuda.easy.retry.common.core.enums.NodeTypeEnum; -import com.aizuda.easy.retry.server.support.register.RegisterContext; +import com.aizuda.easy.retry.server.common.register.RegisterContext; /** * @author www.byteblogs.com diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/RegisterNodeInfoConverter.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/RegisterNodeInfoConverter.java similarity index 79% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/RegisterNodeInfoConverter.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/RegisterNodeInfoConverter.java index d0c05aa3..645d322b 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/RegisterNodeInfoConverter.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/RegisterNodeInfoConverter.java @@ -1,6 +1,6 @@ -package com.aizuda.easy.retry.server.service.convert; +package com.aizuda.easy.retry.server.common; -import com.aizuda.easy.retry.server.dto.RegisterNodeInfo; +import com.aizuda.easy.retry.server.common.dto.RegisterNodeInfo; import com.aizuda.easy.retry.template.datasource.persistence.po.ServerNode; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/ServerLoadBalance.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/ServerLoadBalance.java similarity index 62% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/ServerLoadBalance.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/ServerLoadBalance.java index aa8b8fae..1c74b420 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/ServerLoadBalance.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/ServerLoadBalance.java @@ -14,32 +14,33 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.aizuda.easy.retry.server.support; +package com.aizuda.easy.retry.server.common; import java.util.List; /** - * Strategy Algorithm for message allocating between consumers + * 服务端负载均衡分配算法 */ -public interface ServerLoadBalance { +public interface ServerLoadBalance { /** - * Allocating by consumer id + * 将waitAllocateList通过算法分配到currentCID中 * - * @param currentCID current consumer id - * @param groupNameList consumer set in current consumer group - * @return The allocate result of given strategy + * @param currentCID 当前节点的id + * @param waitAllocateList 待分配的列表 + * @param nodeList 节点信息 + * @return 当前节点负责消费的桶数量 */ - List allocate( - final String currentCID, - final List groupNameList, - final List serverList + List allocate( + String currentCID, + List waitAllocateList, + List nodeList ); /** - * Algorithm name + * 算法名称 * - * @return The strategy name + * @return 策略名称 */ String getName(); } diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/akka/ActorGenerator.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/akka/ActorGenerator.java similarity index 74% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/akka/ActorGenerator.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/akka/ActorGenerator.java index 2796c99e..56cd0118 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/akka/ActorGenerator.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/akka/ActorGenerator.java @@ -1,17 +1,9 @@ -package com.aizuda.easy.retry.server.akka; +package com.aizuda.easy.retry.server.common.akka; import akka.actor.ActorRef; import akka.actor.ActorSystem; import com.aizuda.easy.retry.common.core.context.SpringContext; -import com.aizuda.easy.retry.server.server.RequestHandlerActor; -import com.aizuda.easy.retry.server.support.dispatch.actor.exec.ExecCallbackUnitActor; -import com.aizuda.easy.retry.server.support.dispatch.actor.exec.ExecUnitActor; -import com.aizuda.easy.retry.server.support.dispatch.actor.log.LogActor; -import com.aizuda.easy.retry.server.support.dispatch.actor.result.FailureActor; -import com.aizuda.easy.retry.server.support.dispatch.actor.result.FinishActor; -import com.aizuda.easy.retry.server.support.dispatch.actor.result.NoRetryActor; -import com.aizuda.easy.retry.server.support.dispatch.actor.scan.ScanCallbackGroupActor; -import com.aizuda.easy.retry.server.support.dispatch.actor.scan.ScanGroupActor; + /** * Actor生成器 @@ -21,6 +13,17 @@ import com.aizuda.easy.retry.server.support.dispatch.actor.scan.ScanGroupActor; */ public class ActorGenerator { + public static final String SCAN_CALLBACK_GROUP_ACTOR = "ScanCallbackGroupActor"; + public static final String SCAN_RETRY_GROUP_ACTOR = "ScanGroupActor"; + public static final String FINISH_ACTOR = "FinishActor"; + public static final String FAILURE_ACTOR = "FailureActor"; + public static final String NO_RETRY_ACTOR = "NoRetryActor"; + public static final String EXEC_CALLBACK_UNIT_ACTOR = "ExecCallbackUnitActor"; + public static final String EXEC_UNIT_ACTOR = "ExecUnitActor"; + public static final String LOG_ACTOR = "LogActor"; + public static final String REQUEST_HANDLER_ACTOR = "RequestHandlerActor"; + + private ActorGenerator() {} /** @@ -29,7 +32,7 @@ public class ActorGenerator { * @return actor 引用 */ public static ActorRef finishActor() { - return getDispatchResultActorSystem().actorOf(getSpringExtension().props(FinishActor.BEAN_NAME)); + return getDispatchResultActorSystem().actorOf(getSpringExtension().props(FINISH_ACTOR)); } /** @@ -38,7 +41,7 @@ public class ActorGenerator { * @return actor 引用 */ public static ActorRef failureActor() { - return getDispatchResultActorSystem().actorOf(getSpringExtension().props(FailureActor.BEAN_NAME)); + return getDispatchResultActorSystem().actorOf(getSpringExtension().props(FAILURE_ACTOR)); } /** @@ -47,7 +50,7 @@ public class ActorGenerator { * @return actor 引用 */ public static ActorRef noRetryActor() { - return getDispatchResultActorSystem().actorOf(getSpringExtension().props(NoRetryActor.BEAN_NAME)); + return getDispatchResultActorSystem().actorOf(getSpringExtension().props(NO_RETRY_ACTOR)); } /** @@ -56,7 +59,7 @@ public class ActorGenerator { * @return actor 引用 */ public static ActorRef execCallbackUnitActor() { - return getDispatchResultActorSystem().actorOf(getSpringExtension().props(ExecCallbackUnitActor.BEAN_NAME)); + return getDispatchResultActorSystem().actorOf(getSpringExtension().props(EXEC_CALLBACK_UNIT_ACTOR)); } /** @@ -65,7 +68,7 @@ public class ActorGenerator { * @return actor 引用 */ public static ActorRef execUnitActor() { - return getDispatchExecUnitActorSystem().actorOf(getSpringExtension().props(ExecUnitActor.BEAN_NAME)); + return getDispatchExecUnitActorSystem().actorOf(getSpringExtension().props(EXEC_UNIT_ACTOR)); } /** @@ -74,7 +77,7 @@ public class ActorGenerator { * @return actor 引用 */ public static ActorRef scanGroupActor() { - return getDispatchRetryActorSystem().actorOf(getSpringExtension().props(ScanGroupActor.BEAN_NAME)); + return getDispatchRetryActorSystem().actorOf(getSpringExtension().props(SCAN_RETRY_GROUP_ACTOR)); } /** @@ -83,7 +86,7 @@ public class ActorGenerator { * @return actor 引用 */ public static ActorRef scanCallbackGroupActor() { - return getDispatchRetryActorSystem().actorOf(getSpringExtension().props(ScanCallbackGroupActor.BEAN_NAME)); + return getDispatchRetryActorSystem().actorOf(getSpringExtension().props(SCAN_CALLBACK_GROUP_ACTOR)); } /** @@ -92,7 +95,7 @@ public class ActorGenerator { * @return actor 引用 */ public static ActorRef logActor() { - return getLogActorSystemSystem().actorOf(getSpringExtension().props(LogActor.BEAN_NAME)); + return getLogActorSystemSystem().actorOf(getSpringExtension().props(LOG_ACTOR)); } /** @@ -101,7 +104,7 @@ public class ActorGenerator { * @return actor 引用 */ public static ActorRef requestHandlerActor() { - return getNettyActorSystem().actorOf(getSpringExtension().props(RequestHandlerActor.BEAN_NAME)); + return getNettyActorSystem().actorOf(getSpringExtension().props(REQUEST_HANDLER_ACTOR)); } public static SpringExtension getSpringExtension() { diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/akka/AkkaConfiguration.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/akka/AkkaConfiguration.java similarity index 98% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/akka/AkkaConfiguration.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/akka/AkkaConfiguration.java index a4ccc52a..2864b868 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/akka/AkkaConfiguration.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/akka/AkkaConfiguration.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.akka; +package com.aizuda.easy.retry.server.common.akka; import akka.actor.ActorSystem; import org.springframework.beans.factory.annotation.Autowired; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/akka/SpringActorProducer.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/akka/SpringActorProducer.java similarity index 96% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/akka/SpringActorProducer.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/akka/SpringActorProducer.java index 147fca05..abe9640d 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/akka/SpringActorProducer.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/akka/SpringActorProducer.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.akka; +package com.aizuda.easy.retry.server.common.akka; import akka.actor.Actor; import akka.actor.IndirectActorProducer; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/akka/SpringExtension.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/akka/SpringExtension.java similarity index 94% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/akka/SpringExtension.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/akka/SpringExtension.java index da1dfaa3..3a167eb4 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/akka/SpringExtension.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/akka/SpringExtension.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.akka; +package com.aizuda.easy.retry.server.common.akka; import akka.actor.Extension; import akka.actor.Props; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/allocate/client/ClientLoadBalanceConsistentHash.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/allocate/client/ClientLoadBalanceConsistentHash.java similarity index 79% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/allocate/client/ClientLoadBalanceConsistentHash.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/allocate/client/ClientLoadBalanceConsistentHash.java index ab3201a9..46877507 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/allocate/client/ClientLoadBalanceConsistentHash.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/allocate/client/ClientLoadBalanceConsistentHash.java @@ -1,9 +1,9 @@ -package com.aizuda.easy.retry.server.support.allocate.client; +package com.aizuda.easy.retry.server.common.allocate.client; -import com.aizuda.easy.retry.server.support.allocate.common.ConsistentHashRouter; -import com.aizuda.easy.retry.server.support.allocate.common.Node; -import com.aizuda.easy.retry.server.enums.AllocationAlgorithmEnum; -import com.aizuda.easy.retry.server.support.ClientLoadBalance; +import com.aizuda.easy.retry.server.common.ClientLoadBalance; +import com.aizuda.easy.retry.server.common.enums.AllocationAlgorithmEnum; +import com.aizuda.easy.retry.server.common.allocate.common.ConsistentHashRouter; +import com.aizuda.easy.retry.server.common.allocate.common.Node; import java.util.ArrayList; import java.util.Collection; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/allocate/client/ClientLoadBalanceLRU.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/allocate/client/ClientLoadBalanceLRU.java similarity index 92% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/allocate/client/ClientLoadBalanceLRU.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/allocate/client/ClientLoadBalanceLRU.java index 0eef8225..7d0722ee 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/allocate/client/ClientLoadBalanceLRU.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/allocate/client/ClientLoadBalanceLRU.java @@ -1,6 +1,6 @@ -package com.aizuda.easy.retry.server.support.allocate.client; +package com.aizuda.easy.retry.server.common.allocate.client; -import com.aizuda.easy.retry.server.support.ClientLoadBalance; +import com.aizuda.easy.retry.server.common.ClientLoadBalance; import java.util.LinkedHashMap; import java.util.Map; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/allocate/client/ClientLoadBalanceManager.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/allocate/client/ClientLoadBalanceManager.java similarity index 89% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/allocate/client/ClientLoadBalanceManager.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/allocate/client/ClientLoadBalanceManager.java index 2aebf75a..ccd38406 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/allocate/client/ClientLoadBalanceManager.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/allocate/client/ClientLoadBalanceManager.java @@ -1,6 +1,6 @@ -package com.aizuda.easy.retry.server.support.allocate.client; +package com.aizuda.easy.retry.server.common.allocate.client; -import com.aizuda.easy.retry.server.support.ClientLoadBalance; +import com.aizuda.easy.retry.server.common.ClientLoadBalance; import lombok.Getter; import org.springframework.stereotype.Component; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/allocate/client/ClientLoadBalanceRandom.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/allocate/client/ClientLoadBalanceRandom.java similarity index 77% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/allocate/client/ClientLoadBalanceRandom.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/allocate/client/ClientLoadBalanceRandom.java index 8308eb22..892bbb8e 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/allocate/client/ClientLoadBalanceRandom.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/allocate/client/ClientLoadBalanceRandom.java @@ -1,7 +1,7 @@ -package com.aizuda.easy.retry.server.support.allocate.client; +package com.aizuda.easy.retry.server.common.allocate.client; -import com.aizuda.easy.retry.server.enums.AllocationAlgorithmEnum; -import com.aizuda.easy.retry.server.support.ClientLoadBalance; +import com.aizuda.easy.retry.server.common.ClientLoadBalance; +import com.aizuda.easy.retry.server.common.enums.AllocationAlgorithmEnum; import org.springframework.stereotype.Component; import java.util.Random; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/allocate/common/ConsistentHashRouter.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/allocate/common/ConsistentHashRouter.java similarity index 98% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/allocate/common/ConsistentHashRouter.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/allocate/common/ConsistentHashRouter.java index f2c6ab42..8065fe8d 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/allocate/common/ConsistentHashRouter.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/allocate/common/ConsistentHashRouter.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.aizuda.easy.retry.server.support.allocate.common; +package com.aizuda.easy.retry.server.common.allocate.common; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/allocate/common/HashFunction.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/allocate/common/HashFunction.java similarity index 93% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/allocate/common/HashFunction.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/allocate/common/HashFunction.java index 32e48dca..94b9cc49 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/allocate/common/HashFunction.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/allocate/common/HashFunction.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.aizuda.easy.retry.server.support.allocate.common; +package com.aizuda.easy.retry.server.common.allocate.common; /** * Hash String to long value diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/allocate/common/Node.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/allocate/common/Node.java similarity index 94% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/allocate/common/Node.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/allocate/common/Node.java index aaea2932..c54d543c 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/allocate/common/Node.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/allocate/common/Node.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.aizuda.easy.retry.server.support.allocate.common; +package com.aizuda.easy.retry.server.common.allocate.common; /** * Represent a node which should be mapped to a hash ring diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/allocate/common/VirtualNode.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/allocate/common/VirtualNode.java similarity index 90% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/allocate/common/VirtualNode.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/allocate/common/VirtualNode.java index e2f6e908..ef455df3 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/allocate/common/VirtualNode.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/allocate/common/VirtualNode.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.support.allocate.common; +package com.aizuda.easy.retry.server.common.allocate.common; public class VirtualNode implements Node { final T physicalNode; diff --git a/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/allocate/server/AllocateMessageQueueAveragely.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/allocate/server/AllocateMessageQueueAveragely.java new file mode 100644 index 00000000..b3ea05f4 --- /dev/null +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/allocate/server/AllocateMessageQueueAveragely.java @@ -0,0 +1,61 @@ +package com.aizuda.easy.retry.server.common.allocate.server; + +import com.aizuda.easy.retry.server.common.ServerLoadBalance; + +import java.util.ArrayList; +import java.util.List; + +/** + * 通过平均算法分配bucketList + * + * @author www.byteblogs.com + * @date 2021-03-01 + */ +@SuppressWarnings({"squid:S3358"}) +public class AllocateMessageQueueAveragely implements ServerLoadBalance { + + @Override + public List allocate(String currentCID, List bucketList, List serverList) { + + List consumerBucket = new ArrayList<>(); + + // 找到当前消费者在消费者队列里面的下标 + int index = serverList.indexOf(currentCID); + + // 此处取余是为了判断队列与总消费者数的是否是整数倍 mod=0则是整数倍,否则不是 + int mod = bucketList.size() % serverList.size(); + + /** + * 下面三目预算详解为 + * 如果队列 <= 总消费者, 这种情况最简单就是平均每个消费者消费一个队列,averageSize = 1 + * 如果队列 > 总消费者,这里分为 mod是否等于0, + * mod=0, 说明是队列与总消费者数是整数倍,只需要平均分配就好,eg:10/5=2 + * mode>0, 说明队列与总消费者数不是整数倍,这里肯定有的消费者消费的多,eg: 10/8=1余2 + * index < mod 这个意思是消费者的下标小于mod的, 多消费一个,eg: 队列10个 消费者8个 mod=2 ,那么下标0消费2个、下标1消费2个,其余消费1个 + * index >= mod 其余消费者平均消费剩下的队列 + */ + int averageSize = + bucketList.size() <= serverList.size() ? 1 + : (mod > 0 && index < mod ? bucketList.size() / serverList.size() + + 1 : bucketList.size() / serverList.size()); + + // 这里开始计算起始坐标 + int startIndex = (mod > 0 && index < mod) ? index * averageSize : index * averageSize + mod; + + /** + * 取最小值为消费队列的范围 + * 这里需要说明,如果队列 < 消费者下标, range是一个小于0的数字,所以我们的消费者的数量应该是小于等队列数量,否则会造成资源浪费 + */ + int range = Math.min(averageSize, bucketList.size() - startIndex); + for (int i = 0; i < range; i++) { + consumerBucket.add(bucketList.get((startIndex + i) % bucketList.size())); + } + + return consumerBucket; + } + + @Override + public String getName() { + return "AVG"; + } +} diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/allocate/server/AllocateMessageQueueConsistentHash.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/allocate/server/AllocateMessageQueueConsistentHash.java similarity index 89% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/allocate/server/AllocateMessageQueueConsistentHash.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/allocate/server/AllocateMessageQueueConsistentHash.java index 76f7273e..41443974 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/allocate/server/AllocateMessageQueueConsistentHash.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/allocate/server/AllocateMessageQueueConsistentHash.java @@ -14,12 +14,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.aizuda.easy.retry.server.support.allocate.server; +package com.aizuda.easy.retry.server.common.allocate.server; -import com.aizuda.easy.retry.server.support.allocate.common.ConsistentHashRouter; -import com.aizuda.easy.retry.server.support.allocate.common.HashFunction; -import com.aizuda.easy.retry.server.support.ServerLoadBalance; -import com.aizuda.easy.retry.server.support.allocate.common.Node; +import com.aizuda.easy.retry.server.common.ServerLoadBalance; +import com.aizuda.easy.retry.server.common.allocate.common.ConsistentHashRouter; +import com.aizuda.easy.retry.server.common.allocate.common.HashFunction; +import com.aizuda.easy.retry.server.common.allocate.common.Node; import org.springframework.util.CollectionUtils; import java.util.ArrayList; @@ -27,9 +27,9 @@ import java.util.Collection; import java.util.List; /** - * Consistent Hashing queue algorithm + * 通过一致性hash分配 */ -public class AllocateMessageQueueConsistentHash implements ServerLoadBalance { +public class AllocateMessageQueueConsistentHash implements ServerLoadBalance { private final int virtualNodeCnt; private final HashFunction customHashFunction; diff --git a/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/cache/CacheConsumerBucketGroup.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/cache/CacheConsumerBucketGroup.java new file mode 100644 index 00000000..51e78275 --- /dev/null +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/cache/CacheConsumerBucketGroup.java @@ -0,0 +1,74 @@ +package com.aizuda.easy.retry.server.common.cache; + +import com.aizuda.easy.retry.common.core.log.LogUtils; +import com.aizuda.easy.retry.server.common.Lifecycle; +import com.google.common.cache.Cache; +import com.google.common.cache.CacheBuilder; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import java.util.concurrent.ConcurrentMap; + +/** + * 当前POD负责消费的组 + * + * @author www.byteblogs.com + * @date 2021-10-30 + * @since 1.6.0 + */ +@Component +@Slf4j +public class CacheConsumerBucketGroup implements Lifecycle { + + private volatile List bucketList = new ArrayList<>(); + + /** + * 获取所有缓存 + * + * @return 缓存对象 + */ + public static Set getAllConsumerGroupName() { + ConcurrentMap concurrentMap = CACHE.asMap(); + return new HashSet<>(concurrentMap.values()); + + } + + /** + * 无缓存时添加 + * 有缓存时更新 + * + * @return 缓存对象 + */ + public static synchronized void addOrUpdate(String groupName) { + LogUtils.info(log, "add consumer cache. groupName:[{}]", groupName); + CACHE.put(groupName, groupName); + } + + public static void remove(String groupName) { + LogUtils.info(log, "Remove consumer cache. groupName:[{}]", groupName); + CACHE.invalidate(groupName); + } + + public static void clear() { + CACHE.invalidateAll(); + } + + @Override + public void start() { + LogUtils.info(log, "CacheRegisterTable start"); + CACHE = CacheBuilder.newBuilder() + // 设置并发级别为cpu核心数 + .concurrencyLevel(Runtime.getRuntime().availableProcessors()) + .build(); + } + + @Override + public void close() { + LogUtils.info(log, "CacheRegisterTable stop"); + CACHE.invalidateAll(); + } +} diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/cache/CacheConsumerGroup.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/cache/CacheConsumerGroup.java similarity index 94% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/cache/CacheConsumerGroup.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/cache/CacheConsumerGroup.java index 70ccb9b5..948263c5 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/cache/CacheConsumerGroup.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/cache/CacheConsumerGroup.java @@ -1,7 +1,7 @@ -package com.aizuda.easy.retry.server.support.cache; +package com.aizuda.easy.retry.server.common.cache; import com.aizuda.easy.retry.common.core.log.LogUtils; -import com.aizuda.easy.retry.server.support.Lifecycle; +import com.aizuda.easy.retry.server.common.Lifecycle; import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; import lombok.extern.slf4j.Slf4j; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/cache/CacheGroup.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/cache/CacheGroup.java similarity index 93% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/cache/CacheGroup.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/cache/CacheGroup.java index d260ebd5..9c02dbde 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/cache/CacheGroup.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/cache/CacheGroup.java @@ -1,7 +1,7 @@ -package com.aizuda.easy.retry.server.support.cache; +package com.aizuda.easy.retry.server.common.cache; import com.aizuda.easy.retry.common.core.log.LogUtils; -import com.aizuda.easy.retry.server.support.Lifecycle; +import com.aizuda.easy.retry.server.common.Lifecycle; import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; import lombok.extern.slf4j.Slf4j; @@ -9,7 +9,6 @@ import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; import java.util.Collections; -import java.util.HashSet; import java.util.Set; import java.util.TreeSet; import java.util.concurrent.ConcurrentMap; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/cache/CacheRegisterTable.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/cache/CacheRegisterTable.java similarity index 94% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/cache/CacheRegisterTable.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/cache/CacheRegisterTable.java index aa67fa72..1cc79674 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/cache/CacheRegisterTable.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/cache/CacheRegisterTable.java @@ -1,9 +1,9 @@ -package com.aizuda.easy.retry.server.support.cache; +package com.aizuda.easy.retry.server.common.cache; import com.aizuda.easy.retry.common.core.log.LogUtils; -import com.aizuda.easy.retry.server.dto.RegisterNodeInfo; -import com.aizuda.easy.retry.server.service.convert.RegisterNodeInfoConverter; -import com.aizuda.easy.retry.server.support.Lifecycle; +import com.aizuda.easy.retry.server.common.Lifecycle; +import com.aizuda.easy.retry.server.common.RegisterNodeInfoConverter; +import com.aizuda.easy.retry.server.common.dto.RegisterNodeInfo; import com.aizuda.easy.retry.template.datasource.persistence.po.ServerNode; import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; @@ -11,10 +11,8 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; -import java.time.LocalDateTime; import java.util.Collections; import java.util.Objects; -import java.util.Optional; import java.util.Set; import java.util.TreeSet; import java.util.concurrent.ConcurrentHashMap; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/client/RequestBuilder.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/client/RequestBuilder.java similarity index 94% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/client/RequestBuilder.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/client/RequestBuilder.java index 5a3d1c3a..55f71c21 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/client/RequestBuilder.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/client/RequestBuilder.java @@ -1,8 +1,7 @@ -package com.aizuda.easy.retry.server.client; - +package com.aizuda.easy.retry.server.common.client; import cn.hutool.core.lang.Assert; -import com.aizuda.easy.retry.server.exception.EasyRetryServerException; +import com.aizuda.easy.retry.server.common.exception.EasyRetryServerException; import java.lang.reflect.Proxy; import java.util.Objects; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/client/RequestMethod.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/client/RequestMethod.java similarity index 77% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/client/RequestMethod.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/client/RequestMethod.java index dd0256b5..914b0cf6 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/client/RequestMethod.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/client/RequestMethod.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.client; +package com.aizuda.easy.retry.server.common.client; /** * 请求类型 diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/client/RpcClient.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/client/RpcClient.java similarity index 75% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/client/RpcClient.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/client/RpcClient.java index 20292cd5..eaf889a3 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/client/RpcClient.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/client/RpcClient.java @@ -1,13 +1,13 @@ -package com.aizuda.easy.retry.server.client; +package com.aizuda.easy.retry.server.common.client; import com.aizuda.easy.retry.client.model.DispatchRetryDTO; import com.aizuda.easy.retry.client.model.DispatchRetryResultDTO; import com.aizuda.easy.retry.client.model.RetryCallbackDTO; import com.aizuda.easy.retry.common.core.model.EasyRetryHeaders; import com.aizuda.easy.retry.common.core.model.Result; -import com.aizuda.easy.retry.server.client.annotation.Body; -import com.aizuda.easy.retry.server.client.annotation.Header; -import com.aizuda.easy.retry.server.client.annotation.Mapping; +import com.aizuda.easy.retry.server.common.client.annotation.Body; +import com.aizuda.easy.retry.server.common.client.annotation.Header; +import com.aizuda.easy.retry.server.common.client.annotation.Mapping; /** * 调用客户端接口 diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/client/RpcClientInvokeHandler.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/client/RpcClientInvokeHandler.java similarity index 91% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/client/RpcClientInvokeHandler.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/client/RpcClientInvokeHandler.java index adac8280..e02d0809 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/client/RpcClientInvokeHandler.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/client/RpcClientInvokeHandler.java @@ -1,24 +1,22 @@ -package com.aizuda.easy.retry.server.client; +package com.aizuda.easy.retry.server.common.client; import cn.hutool.core.lang.Assert; -import cn.hutool.core.lang.Tuple; import cn.hutool.core.util.URLUtil; 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.model.Result; import com.aizuda.easy.retry.common.core.util.HostUtils; import com.aizuda.easy.retry.common.core.util.JsonUtil; -import com.aizuda.easy.retry.server.client.annotation.Body; -import com.aizuda.easy.retry.server.client.annotation.Header; -import com.aizuda.easy.retry.server.client.annotation.Mapping; -import com.aizuda.easy.retry.server.client.annotation.Param; -import com.aizuda.easy.retry.server.dto.RegisterNodeInfo; -import com.aizuda.easy.retry.server.exception.EasyRetryServerException; -import com.aizuda.easy.retry.server.support.cache.CacheRegisterTable; -import com.aizuda.easy.retry.server.support.handler.ClientNodeAllocateHandler; +import com.aizuda.easy.retry.server.common.cache.CacheRegisterTable; +import com.aizuda.easy.retry.server.common.client.annotation.Body; +import com.aizuda.easy.retry.server.common.client.annotation.Header; +import com.aizuda.easy.retry.server.common.client.annotation.Mapping; +import com.aizuda.easy.retry.server.common.client.annotation.Param; +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.handler.ClientNodeAllocateHandler; import lombok.Data; import lombok.extern.slf4j.Slf4j; -import org.jetbrains.annotations.NotNull; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; @@ -148,7 +146,6 @@ public class RpcClientInvokeHandler implements InvocationHandler { return null; } - @NotNull private StringBuilder getUrl(Mapping mapping, Map paramMap) { StringBuilder url = new StringBuilder(MessageFormat.format(URL, hostIp, hostPort.toString(), contextPath)); url.append(mapping.path()); @@ -160,7 +157,6 @@ public class RpcClientInvokeHandler implements InvocationHandler { return url; } - @NotNull private ParseParasResult doParseParams(Method method, Object[] args) { Object body = null; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/client/annotation/Body.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/client/annotation/Body.java similarity index 86% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/client/annotation/Body.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/client/annotation/Body.java index 52641574..a9ae07a4 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/client/annotation/Body.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/client/annotation/Body.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.client.annotation; +package com.aizuda.easy.retry.server.common.client.annotation; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/client/annotation/Header.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/client/annotation/Header.java similarity index 86% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/client/annotation/Header.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/client/annotation/Header.java index a1bdd04d..5ec849fe 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/client/annotation/Header.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/client/annotation/Header.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.client.annotation; +package com.aizuda.easy.retry.server.common.client.annotation; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/client/annotation/Mapping.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/client/annotation/Mapping.java similarity index 79% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/client/annotation/Mapping.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/client/annotation/Mapping.java index 5be2311a..432aeb59 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/client/annotation/Mapping.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/client/annotation/Mapping.java @@ -1,6 +1,6 @@ -package com.aizuda.easy.retry.server.client.annotation; +package com.aizuda.easy.retry.server.common.client.annotation; -import com.aizuda.easy.retry.server.client.RequestMethod; +import com.aizuda.easy.retry.server.common.client.RequestMethod; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/client/annotation/Param.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/client/annotation/Param.java similarity index 87% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/client/annotation/Param.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/client/annotation/Param.java index 90491bd2..246e2a46 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/client/annotation/Param.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/client/annotation/Param.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.client.annotation; +package com.aizuda.easy.retry.server.common.client.annotation; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; diff --git a/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/config/EasyRetryServerCommonAutoConfiguration.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/config/EasyRetryServerCommonAutoConfiguration.java new file mode 100644 index 00000000..d177ed6f --- /dev/null +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/config/EasyRetryServerCommonAutoConfiguration.java @@ -0,0 +1,16 @@ +package com.aizuda.easy.retry.server.common.config; + +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; + +/** + * web访问模块 + * + * @author: www.byteblogs.com + * @date : 2023-09-19 09:21 + */ +@Configuration +@ComponentScan("com.aizuda.easy.retry.server.common.*") +public class EasyRetryServerCommonAutoConfiguration { + +} diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/config/JacksonConfig.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/config/JacksonConfig.java similarity index 90% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/config/JacksonConfig.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/config/JacksonConfig.java index e1a7fcb2..e582427b 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/config/JacksonConfig.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/config/JacksonConfig.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.config; +package com.aizuda.easy.retry.server.common.config; import com.fasterxml.jackson.databind.ObjectMapper; import com.aizuda.easy.retry.common.core.util.JsonUtil; @@ -19,4 +19,4 @@ public class JacksonConfig { return JsonUtil.JsonMapper.jacksonObjectMapper(); } -} \ No newline at end of file +} diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/config/RestTemplateConfig.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/config/RestTemplateConfig.java similarity index 94% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/config/RestTemplateConfig.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/config/RestTemplateConfig.java index ecc375af..900394b3 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/config/RestTemplateConfig.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/config/RestTemplateConfig.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.config; +package com.aizuda.easy.retry.server.common.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/config/SystemProperties.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/config/SystemProperties.java similarity index 92% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/config/SystemProperties.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/config/SystemProperties.java index 0b0cd8b2..86c551ef 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/config/SystemProperties.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/config/SystemProperties.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.config; +package com.aizuda.easy.retry.server.common.config; import com.aizuda.easy.retry.template.datasource.enums.DbTypeEnum; import lombok.Data; @@ -61,6 +61,11 @@ public class SystemProperties { */ private int loadBalanceCycleTime = 10; + /** + * 桶的总数量 + */ + private int bucketTotal = 128; + /** * 回调配置 */ diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/dto/LockConfig.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/dto/LockConfig.java similarity index 92% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/dto/LockConfig.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/dto/LockConfig.java index 695a5d62..7d3daca7 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/dto/LockConfig.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/dto/LockConfig.java @@ -1,8 +1,7 @@ -package com.aizuda.easy.retry.server.dto; +package com.aizuda.easy.retry.server.common.dto; import cn.hutool.core.lang.Assert; -import com.aizuda.easy.retry.server.exception.EasyRetryServerException; -import lombok.Getter; +import com.aizuda.easy.retry.server.common.exception.EasyRetryServerException; import java.time.Duration; import java.time.LocalDateTime; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/dto/NettyHttpRequest.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/dto/NettyHttpRequest.java similarity index 85% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/dto/NettyHttpRequest.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/dto/NettyHttpRequest.java index 0ea4feed..567e0604 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/dto/NettyHttpRequest.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/dto/NettyHttpRequest.java @@ -1,11 +1,10 @@ -package com.aizuda.easy.retry.server.dto; +package com.aizuda.easy.retry.server.common.dto; import io.netty.channel.ChannelHandlerContext; -import io.netty.handler.codec.http.FullHttpRequest; import io.netty.handler.codec.http.HttpHeaders; -import io.netty.handler.codec.http.HttpMethod; import lombok.Builder; import lombok.Data; +import io.netty.handler.codec.http.HttpMethod; /** * netty客户端请求模型 diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/dto/RegisterNodeInfo.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/dto/RegisterNodeInfo.java similarity index 78% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/dto/RegisterNodeInfo.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/dto/RegisterNodeInfo.java index 0e7dbd89..5203c71e 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/dto/RegisterNodeInfo.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/dto/RegisterNodeInfo.java @@ -1,7 +1,6 @@ -package com.aizuda.easy.retry.server.dto; +package com.aizuda.easy.retry.server.common.dto; import lombok.Data; -import org.jetbrains.annotations.NotNull; import java.time.LocalDateTime; @@ -29,7 +28,7 @@ public class RegisterNodeInfo implements Comparable { private String contextPath; @Override - public int compareTo(@NotNull RegisterNodeInfo info) { + public int compareTo(RegisterNodeInfo info) { return hostId.compareTo(info.hostId); } } diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/dto/ServerNodeExtAttrs.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/dto/ServerNodeExtAttrs.java similarity index 82% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/dto/ServerNodeExtAttrs.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/dto/ServerNodeExtAttrs.java index a463ef6f..afb90579 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/dto/ServerNodeExtAttrs.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/dto/ServerNodeExtAttrs.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.dto; +package com.aizuda.easy.retry.server.common.dto; import lombok.Data; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/enums/AllocationAlgorithmEnum.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/enums/AllocationAlgorithmEnum.java similarity index 85% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/enums/AllocationAlgorithmEnum.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/enums/AllocationAlgorithmEnum.java index 76e57117..adf35c2b 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/enums/AllocationAlgorithmEnum.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/enums/AllocationAlgorithmEnum.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.enums; +package com.aizuda.easy.retry.server.common.enums; import lombok.Getter; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/enums/DelayLevelEnum.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/enums/DelayLevelEnum.java similarity index 97% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/enums/DelayLevelEnum.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/enums/DelayLevelEnum.java index e6347458..6956edef 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/enums/DelayLevelEnum.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/enums/DelayLevelEnum.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.enums; +package com.aizuda.easy.retry.server.common.enums; import lombok.Getter; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/enums/IdGeneratorMode.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/enums/IdGeneratorMode.java similarity index 92% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/enums/IdGeneratorMode.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/enums/IdGeneratorMode.java index e3f3188a..fb4f6dde 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/enums/IdGeneratorMode.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/enums/IdGeneratorMode.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.enums; +package com.aizuda.easy.retry.server.common.enums; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/enums/TaskGeneratorScene.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/enums/TaskGeneratorScene.java similarity index 85% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/enums/TaskGeneratorScene.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/enums/TaskGeneratorScene.java index 5b16e910..10a2394b 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/enums/TaskGeneratorScene.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/enums/TaskGeneratorScene.java @@ -1,6 +1,6 @@ -package com.aizuda.easy.retry.server.enums; +package com.aizuda.easy.retry.server.common.enums; -import com.aizuda.easy.retry.server.exception.EasyRetryServerException; +import com.aizuda.easy.retry.server.common.exception.EasyRetryServerException; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/enums/TaskTypeEnum.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/enums/TaskTypeEnum.java similarity index 79% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/enums/TaskTypeEnum.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/enums/TaskTypeEnum.java index c179f644..58dab5b0 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/enums/TaskTypeEnum.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/enums/TaskTypeEnum.java @@ -1,7 +1,7 @@ -package com.aizuda.easy.retry.server.enums; +package com.aizuda.easy.retry.server.common.enums; import akka.actor.ActorRef; -import com.aizuda.easy.retry.server.akka.ActorGenerator; +import com.aizuda.easy.retry.server.common.akka.ActorGenerator; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/exception/EasyRetryServerException.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/exception/EasyRetryServerException.java similarity index 88% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/exception/EasyRetryServerException.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/exception/EasyRetryServerException.java index 733ed23a..44e3b569 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/exception/EasyRetryServerException.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/exception/EasyRetryServerException.java @@ -1,4 +1,5 @@ -package com.aizuda.easy.retry.server.exception; +package com.aizuda.easy.retry.server.common.exception; + import com.aizuda.easy.retry.common.core.exception.BaseEasyRetryException; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/generator/IdGenerator.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/generator/id/IdGenerator.java similarity index 88% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/generator/IdGenerator.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/generator/id/IdGenerator.java index 8f63f04f..75734752 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/generator/IdGenerator.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/generator/id/IdGenerator.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.support.generator; +package com.aizuda.easy.retry.server.common.generator.id; /** * 分布式Id生成器 diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/generator/id/Segment.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/generator/id/Segment.java similarity index 95% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/generator/id/Segment.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/generator/id/Segment.java index e297d386..cf300da7 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/generator/id/Segment.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/generator/id/Segment.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.support.generator.id; +package com.aizuda.easy.retry.server.common.generator.id; import java.util.concurrent.atomic.AtomicLong; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/generator/id/SegmentBuffer.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/generator/id/SegmentBuffer.java similarity index 98% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/generator/id/SegmentBuffer.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/generator/id/SegmentBuffer.java index 7008e465..69b8b984 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/generator/id/SegmentBuffer.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/generator/id/SegmentBuffer.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.support.generator.id; +package com.aizuda.easy.retry.server.common.generator.id; import lombok.Data; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/generator/id/SegmentIdGenerator.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/generator/id/SegmentIdGenerator.java similarity index 98% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/generator/id/SegmentIdGenerator.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/generator/id/SegmentIdGenerator.java index 4013e5d6..4e181b12 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/generator/id/SegmentIdGenerator.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/generator/id/SegmentIdGenerator.java @@ -1,11 +1,10 @@ -package com.aizuda.easy.retry.server.support.generator.id; +package com.aizuda.easy.retry.server.common.generator.id; -import com.aizuda.easy.retry.server.enums.IdGeneratorMode; import com.aizuda.easy.retry.common.core.log.LogUtils; +import com.aizuda.easy.retry.server.common.Lifecycle; +import com.aizuda.easy.retry.server.common.enums.IdGeneratorMode; import com.aizuda.easy.retry.template.datasource.persistence.mapper.SequenceAllocMapper; import com.aizuda.easy.retry.template.datasource.persistence.po.SequenceAlloc; -import com.aizuda.easy.retry.server.support.Lifecycle; -import com.aizuda.easy.retry.server.support.generator.IdGenerator; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.extern.slf4j.Slf4j; import org.perf4j.StopWatch; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/generator/id/SnowflakeIdGenerator.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/generator/id/SnowflakeIdGenerator.java similarity index 79% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/generator/id/SnowflakeIdGenerator.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/generator/id/SnowflakeIdGenerator.java index 2b02c73f..a880f3a3 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/generator/id/SnowflakeIdGenerator.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/generator/id/SnowflakeIdGenerator.java @@ -1,9 +1,8 @@ -package com.aizuda.easy.retry.server.support.generator.id; +package com.aizuda.easy.retry.server.common.generator.id; import cn.hutool.core.lang.Snowflake; import cn.hutool.core.util.IdUtil; -import com.aizuda.easy.retry.server.enums.IdGeneratorMode; -import com.aizuda.easy.retry.server.support.generator.IdGenerator; +import com.aizuda.easy.retry.server.common.enums.IdGeneratorMode; import org.springframework.stereotype.Component; /** diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/handler/ClientNodeAllocateHandler.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/handler/ClientNodeAllocateHandler.java similarity index 82% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/handler/ClientNodeAllocateHandler.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/handler/ClientNodeAllocateHandler.java index 10b8ed1e..dbf211af 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/handler/ClientNodeAllocateHandler.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/handler/ClientNodeAllocateHandler.java @@ -1,10 +1,10 @@ -package com.aizuda.easy.retry.server.support.handler; +package com.aizuda.easy.retry.server.common.handler; import com.aizuda.easy.retry.common.core.log.LogUtils; -import com.aizuda.easy.retry.server.dto.RegisterNodeInfo; -import com.aizuda.easy.retry.server.support.ClientLoadBalance; -import com.aizuda.easy.retry.server.support.allocate.client.ClientLoadBalanceManager; -import com.aizuda.easy.retry.server.support.cache.CacheRegisterTable; +import com.aizuda.easy.retry.server.common.ClientLoadBalance; +import com.aizuda.easy.retry.server.common.allocate.client.ClientLoadBalanceManager; +import com.aizuda.easy.retry.server.common.dto.RegisterNodeInfo; +import com.aizuda.easy.retry.server.common.cache.CacheRegisterTable; import com.aizuda.easy.retry.template.datasource.access.AccessTemplate; import com.aizuda.easy.retry.template.datasource.persistence.po.GroupConfig; import lombok.extern.slf4j.Slf4j; diff --git a/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/handler/DistributeInstance.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/handler/DistributeInstance.java new file mode 100644 index 00000000..5bc9284f --- /dev/null +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/handler/DistributeInstance.java @@ -0,0 +1,15 @@ +package com.aizuda.easy.retry.server.common.handler; + +import java.util.concurrent.CopyOnWriteArraySet; + +/** + * www.byteblogs.com + * + * @author: shuguang.zhang + * @date : 2023-09-21 09:26 + */ +public class DistributeInstance { + + private CopyOnWriteArraySet CONSUMER_BUCKET = new CopyOnWriteArraySet<>(); + +} diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/server/handler/GetHttpRequestHandler.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/handler/GetHttpRequestHandler.java similarity index 92% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/server/handler/GetHttpRequestHandler.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/handler/GetHttpRequestHandler.java index f4d61a73..add78217 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/server/handler/GetHttpRequestHandler.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/handler/GetHttpRequestHandler.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.server.handler; +package com.aizuda.easy.retry.server.common.handler; import cn.hutool.core.net.url.UrlBuilder; import cn.hutool.core.net.url.UrlQuery; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/server/handler/HttpRequestHandler.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/handler/HttpRequestHandler.java similarity index 89% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/server/handler/HttpRequestHandler.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/handler/HttpRequestHandler.java index cc370ded..a066c42b 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/server/handler/HttpRequestHandler.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/handler/HttpRequestHandler.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.server.handler; +package com.aizuda.easy.retry.server.common.handler; import cn.hutool.core.net.url.UrlBuilder; import io.netty.handler.codec.http.HttpHeaders; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/server/handler/PostHttpRequestHandler.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/handler/PostHttpRequestHandler.java similarity index 92% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/server/handler/PostHttpRequestHandler.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/handler/PostHttpRequestHandler.java index 92fa2b81..97bb0f7e 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/server/handler/PostHttpRequestHandler.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/handler/PostHttpRequestHandler.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.server.handler; +package com.aizuda.easy.retry.server.common.handler; import cn.hutool.core.net.url.UrlBuilder; import cn.hutool.core.net.url.UrlQuery; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/handler/ServerNodeBalance.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/handler/ServerNodeBalance.java similarity index 89% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/handler/ServerNodeBalance.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/handler/ServerNodeBalance.java index 1f1c4c38..e482ce89 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/handler/ServerNodeBalance.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/handler/ServerNodeBalance.java @@ -1,20 +1,22 @@ -package com.aizuda.easy.retry.server.support.handler; +package com.aizuda.easy.retry.server.common.handler; import com.aizuda.easy.retry.common.core.enums.NodeTypeEnum; import com.aizuda.easy.retry.common.core.log.LogUtils; -import com.aizuda.easy.retry.server.config.SystemProperties; -import com.aizuda.easy.retry.server.dto.RegisterNodeInfo; -import com.aizuda.easy.retry.server.support.Lifecycle; -import com.aizuda.easy.retry.server.support.allocate.server.AllocateMessageQueueConsistentHash; -import com.aizuda.easy.retry.server.support.cache.CacheConsumerGroup; -import com.aizuda.easy.retry.server.support.cache.CacheGroup; -import com.aizuda.easy.retry.server.support.cache.CacheRegisterTable; -import com.aizuda.easy.retry.server.support.register.ServerRegister; +import com.aizuda.easy.retry.server.common.Lifecycle; +import com.aizuda.easy.retry.server.common.allocate.server.AllocateMessageQueueAveragely; +import com.aizuda.easy.retry.server.common.allocate.server.AllocateMessageQueueConsistentHash; +import com.aizuda.easy.retry.server.common.cache.CacheConsumerGroup; +import com.aizuda.easy.retry.server.common.cache.CacheGroup; +import com.aizuda.easy.retry.server.common.config.SystemProperties; +import com.aizuda.easy.retry.server.common.dto.RegisterNodeInfo; +import com.aizuda.easy.retry.server.common.cache.CacheRegisterTable; +import com.aizuda.easy.retry.server.common.register.ServerRegister; import com.aizuda.easy.retry.template.datasource.access.AccessTemplate; import com.aizuda.easy.retry.template.datasource.persistence.mapper.ServerNodeMapper; import com.aizuda.easy.retry.template.datasource.persistence.po.GroupConfig; import com.aizuda.easy.retry.template.datasource.persistence.po.ServerNode; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.google.common.collect.Lists; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -30,6 +32,7 @@ import java.util.concurrent.ConcurrentMap; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; import java.util.stream.Collectors; +import java.util.stream.Stream; /** * 负责处理组或者节点变化时,重新分配组在不同的节点上消费 @@ -49,13 +52,15 @@ public class ServerNodeBalance implements Lifecycle, Runnable { @Autowired protected AccessTemplate accessTemplate; - private Thread THREAD = null; + private Thread thread = null; @Autowired protected ServerNodeMapper serverNodeMapper; @Autowired protected SystemProperties systemProperties; + private List bucketList; + /** * 控制rebalance状态 */ @@ -85,8 +90,8 @@ public class ServerNodeBalance implements Lifecycle, Runnable { return; } - List allocate = new AllocateMessageQueueConsistentHash() - .allocate(ServerRegister.CURRENT_CID, new ArrayList<>(allGroup), new ArrayList<>(podIpSet)); + List allocate = new AllocateMessageQueueAveragely() + .allocate(ServerRegister.CURRENT_CID, bucketList, new ArrayList<>(podIpSet)); // 重新覆盖本地分配的组信息 for (String groupName : allocate) { @@ -104,9 +109,16 @@ public class ServerNodeBalance implements Lifecycle, Runnable { @Override public void start() { + + int bucketTotal = systemProperties.getBucketTotal(); + bucketList = new ArrayList<>(bucketTotal); + for (int i = 1; i <= bucketTotal; i++) { + bucketList.add(i); + } + LogUtils.info(log, "ServerNodeBalance start"); - THREAD = new Thread(this, "server-node-balance"); - THREAD.start(); + thread = new Thread(this, "server-node-balance"); + thread.start(); } private void removeNode(ConcurrentMap concurrentMap, Set remoteHostIds, Set localHostIds) { @@ -160,7 +172,7 @@ public class ServerNodeBalance implements Lifecycle, Runnable { public void close() { // 停止定时任务 - THREAD.interrupt(); + thread.interrupt(); LogUtils.info(log, "ServerNodeBalance start. "); int i = serverNodeMapper diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/register/AbstractRegister.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/register/AbstractRegister.java similarity index 90% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/register/AbstractRegister.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/register/AbstractRegister.java index 31bcc9c9..f600ed4b 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/register/AbstractRegister.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/register/AbstractRegister.java @@ -1,9 +1,9 @@ -package com.aizuda.easy.retry.server.support.register; +package com.aizuda.easy.retry.server.common.register; import com.aizuda.easy.retry.common.core.log.LogUtils; -import com.aizuda.easy.retry.server.support.Lifecycle; -import com.aizuda.easy.retry.server.support.Register; -import com.aizuda.easy.retry.server.support.cache.CacheRegisterTable; +import com.aizuda.easy.retry.server.common.Lifecycle; +import com.aizuda.easy.retry.server.common.Register; +import com.aizuda.easy.retry.server.common.cache.CacheRegisterTable; import com.aizuda.easy.retry.template.datasource.persistence.mapper.ServerNodeMapper; import com.aizuda.easy.retry.template.datasource.persistence.po.ServerNode; import lombok.extern.slf4j.Slf4j; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/register/ClientRegister.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/register/ClientRegister.java similarity index 94% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/register/ClientRegister.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/register/ClientRegister.java index 98949522..cd0d4e6d 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/register/ClientRegister.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/register/ClientRegister.java @@ -1,9 +1,9 @@ -package com.aizuda.easy.retry.server.support.register; +package com.aizuda.easy.retry.server.common.register; import com.aizuda.easy.retry.common.core.enums.NodeTypeEnum; import com.aizuda.easy.retry.common.core.log.LogUtils; -import com.aizuda.easy.retry.server.support.cache.CacheConsumerGroup; -import com.aizuda.easy.retry.server.support.cache.CacheRegisterTable; +import com.aizuda.easy.retry.server.common.cache.CacheConsumerGroup; +import com.aizuda.easy.retry.server.common.cache.CacheRegisterTable; import com.aizuda.easy.retry.template.datasource.persistence.po.ServerNode; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.extern.slf4j.Slf4j; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/register/RegisterContext.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/register/RegisterContext.java similarity index 88% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/register/RegisterContext.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/register/RegisterContext.java index fad44785..9f209234 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/register/RegisterContext.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/register/RegisterContext.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.support.register; +package com.aizuda.easy.retry.server.common.register; import lombok.Data; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/register/ServerRegister.java b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/register/ServerRegister.java similarity index 91% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/register/ServerRegister.java rename to easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/register/ServerRegister.java index e962b1c0..5644b0a7 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/register/ServerRegister.java +++ b/easy-retry-server/easy-retry-server-common/src/main/java/com/aizuda/easy/retry/server/common/register/ServerRegister.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.support.register; +package com.aizuda.easy.retry.server.common.register; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; @@ -7,10 +7,10 @@ import com.aizuda.easy.retry.common.core.enums.NodeTypeEnum; import com.aizuda.easy.retry.common.core.log.LogUtils; import com.aizuda.easy.retry.common.core.util.HostUtils; import com.aizuda.easy.retry.common.core.util.JsonUtil; -import com.aizuda.easy.retry.server.config.SystemProperties; -import com.aizuda.easy.retry.server.dto.ServerNodeExtAttrs; -import com.aizuda.easy.retry.server.support.Register; -import com.aizuda.easy.retry.server.support.handler.ServerNodeBalance; +import com.aizuda.easy.retry.server.common.Register; +import com.aizuda.easy.retry.server.common.config.SystemProperties; +import com.aizuda.easy.retry.server.common.dto.ServerNodeExtAttrs; +import com.aizuda.easy.retry.server.common.handler.ServerNodeBalance; import com.aizuda.easy.retry.template.datasource.persistence.po.ServerNode; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; diff --git a/easy-retry-server/easy-retry-server-common/src/main/resources/META-INF/spring.factories b/easy-retry-server/easy-retry-server-common/src/main/resources/META-INF/spring.factories new file mode 100644 index 00000000..8a90ec75 --- /dev/null +++ b/easy-retry-server/easy-retry-server-common/src/main/resources/META-INF/spring.factories @@ -0,0 +1,2 @@ +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ + com.aizuda.easy.retry.server.common.config.EasyRetryServerCommonAutoConfiguration diff --git a/easy-retry-server/easy-retry-server-common/src/main/resources/spring-configuration-metadata.json b/easy-retry-server/easy-retry-server-common/src/main/resources/spring-configuration-metadata.json new file mode 100644 index 00000000..44672dd5 --- /dev/null +++ b/easy-retry-server/easy-retry-server-common/src/main/resources/spring-configuration-metadata.json @@ -0,0 +1,18 @@ +{ + "groups": [ + { + "name": "easy-retry", + "type": "com.aizuda.easy.retry.server.common.config.SystemProperties", + "sourceType": "com.aizuda.easy.retry.server.common.config.SystemProperties" + } + ], + "properties": [ + { + "name": "easy-retry.callback", + "type": "com.aizuda.easy.retry.server.common.config.SystemProperties$Callback", + "defaultValue": "30", + "description": "服务端的地址,若服务端集群部署则此处配置域名", + "sourceType": "com.aizuda.easy.retry.server.common.config.SystemProperties$Callback" + } + ] +} diff --git a/easy-retry-server/easy-retry-server-job-task/.gitignore b/easy-retry-server/easy-retry-server-job-task/.gitignore new file mode 100644 index 00000000..5ff6309b --- /dev/null +++ b/easy-retry-server/easy-retry-server-job-task/.gitignore @@ -0,0 +1,38 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/easy-retry-server/easy-retry-server-job-task/pom.xml b/easy-retry-server/easy-retry-server-job-task/pom.xml new file mode 100644 index 00000000..21341a4a --- /dev/null +++ b/easy-retry-server/easy-retry-server-job-task/pom.xml @@ -0,0 +1,41 @@ + + + 4.0.0 + + com.aizuda + easy-retry-server + ${revision} + ../pom.xml + + + easy-retry-server-job-task + jar + + + 8 + 8 + UTF-8 + + + + + + org.springframework.boot + spring-boot-maven-plugin + + none + execute + + + + + repackage + + + + + + + diff --git a/easy-retry-server/easy-retry-server-retry-task/.gitignore b/easy-retry-server/easy-retry-server-retry-task/.gitignore new file mode 100644 index 00000000..5ff6309b --- /dev/null +++ b/easy-retry-server/easy-retry-server-retry-task/.gitignore @@ -0,0 +1,38 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/easy-retry-server/easy-retry-server-retry-task/pom.xml b/easy-retry-server/easy-retry-server-retry-task/pom.xml new file mode 100644 index 00000000..c2019e6c --- /dev/null +++ b/easy-retry-server/easy-retry-server-retry-task/pom.xml @@ -0,0 +1,81 @@ + + + 4.0.0 + + com.aizuda + easy-retry-server + ${revision} + ../pom.xml + + + easy-retry-server-retry-task + jar + + + 8 + 8 + UTF-8 + + + + + com.aizuda + easy-retry-server-common + + + org.springframework.boot + spring-boot-starter-web + + + org.projectlombok + lombok + + + com.aizuda + easy-retry-common-server-api + + + com.aizuda + easy-retry-datasource-template + + + com.aizuda + easy-retry-common-client-api + + + org.mapstruct + mapstruct + + + org.mapstruct + mapstruct-processor + + + com.github.rholder + guava-retrying + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + none + execute + + + + + repackage + + + + + + + + diff --git a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/config/EasyRetryServerRetryTaskAutoConfiguration.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/config/EasyRetryServerRetryTaskAutoConfiguration.java new file mode 100644 index 00000000..4566f2d0 --- /dev/null +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/config/EasyRetryServerRetryTaskAutoConfiguration.java @@ -0,0 +1,16 @@ +package com.aizuda.easy.retry.server.retry.task.config; + +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; + +/** + * web访问模块 + * + * @author: www.byteblogs.com + * @date : 2023-09-19 09:21 + */ +@Configuration +@ComponentScan("com.aizuda.easy.retry.server.retry.task.*") +public class EasyRetryServerRetryTaskAutoConfiguration { + +} diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/generator/task/AbstractGenerator.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/generator/task/AbstractGenerator.java similarity index 92% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/generator/task/AbstractGenerator.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/generator/task/AbstractGenerator.java index a1731b8a..cf665c1b 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/generator/task/AbstractGenerator.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/generator/task/AbstractGenerator.java @@ -1,22 +1,21 @@ -package com.aizuda.easy.retry.server.support.generator.task; +package com.aizuda.easy.retry.server.retry.task.generator.task; import cn.hutool.core.lang.Assert; import cn.hutool.core.lang.Pair; import cn.hutool.core.util.StrUtil; 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.log.LogUtils; import com.aizuda.easy.retry.common.core.util.JsonUtil; -import com.aizuda.easy.retry.server.enums.DelayLevelEnum; -import com.aizuda.easy.retry.server.enums.TaskTypeEnum; -import com.aizuda.easy.retry.server.exception.EasyRetryServerException; -import com.aizuda.easy.retry.server.service.convert.RetryTaskConverter; -import com.aizuda.easy.retry.server.service.convert.RetryTaskLogConverter; -import com.aizuda.easy.retry.server.support.generator.IdGenerator; -import com.aizuda.easy.retry.server.support.generator.TaskGenerator; -import com.aizuda.easy.retry.server.support.strategy.WaitStrategies; +import com.aizuda.easy.retry.server.common.enums.DelayLevelEnum; +import com.aizuda.easy.retry.server.common.enums.TaskTypeEnum; +import com.aizuda.easy.retry.server.common.exception.EasyRetryServerException; +import com.aizuda.easy.retry.server.common.generator.id.IdGenerator; +import com.aizuda.easy.retry.server.retry.task.support.RetryTaskConverter; +import com.aizuda.easy.retry.server.retry.task.support.RetryTaskLogConverter; +import com.aizuda.easy.retry.server.retry.task.support.strategy.WaitStrategies; import com.aizuda.easy.retry.template.datasource.access.AccessTemplate; import com.aizuda.easy.retry.template.datasource.access.TaskAccess; -import com.aizuda.easy.retry.common.core.enums.StatusEnum; import com.aizuda.easy.retry.template.datasource.persistence.mapper.RetryTaskLogMapper; import com.aizuda.easy.retry.template.datasource.persistence.po.GroupConfig; import com.aizuda.easy.retry.template.datasource.persistence.po.RetryTask; @@ -25,7 +24,6 @@ import com.aizuda.easy.retry.template.datasource.persistence.po.SceneConfig; import com.aizuda.easy.retry.template.datasource.utils.RequestDataHelper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; @@ -125,8 +123,8 @@ public abstract class AbstractGenerator implements TaskGenerator { retryTask.setCreateDt(now); retryTask.setUpdateDt(now); - if (StringUtils.isBlank(retryTask.getExtAttrs())) { - retryTask.setExtAttrs(StringUtils.EMPTY); + if (StrUtil.isBlank(retryTask.getExtAttrs())) { + retryTask.setExtAttrs(StrUtil.EMPTY); } retryTask.setNextTriggerAt(WaitStrategies.randomWait(1, TimeUnit.SECONDS, 60, TimeUnit.SECONDS).computeRetryTime(null)); diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/generator/task/ClientReportRetryGenerator.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/generator/task/ClientReportRetryGenerator.java similarity index 81% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/generator/task/ClientReportRetryGenerator.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/generator/task/ClientReportRetryGenerator.java index 23184326..e2f75cdb 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/generator/task/ClientReportRetryGenerator.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/generator/task/ClientReportRetryGenerator.java @@ -1,7 +1,7 @@ -package com.aizuda.easy.retry.server.support.generator.task; +package com.aizuda.easy.retry.server.retry.task.generator.task; import com.aizuda.easy.retry.common.core.enums.RetryStatusEnum; -import com.aizuda.easy.retry.server.enums.TaskGeneratorScene; +import com.aizuda.easy.retry.server.common.enums.TaskGeneratorScene; import org.springframework.stereotype.Component; /** diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/generator/task/ManaBatchRetryGenerator.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/generator/task/ManaBatchRetryGenerator.java similarity index 83% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/generator/task/ManaBatchRetryGenerator.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/generator/task/ManaBatchRetryGenerator.java index b4a24f31..839c59e3 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/generator/task/ManaBatchRetryGenerator.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/generator/task/ManaBatchRetryGenerator.java @@ -1,7 +1,7 @@ -package com.aizuda.easy.retry.server.support.generator.task; +package com.aizuda.easy.retry.server.retry.task.generator.task; import com.aizuda.easy.retry.common.core.enums.RetryStatusEnum; -import com.aizuda.easy.retry.server.enums.TaskGeneratorScene; +import com.aizuda.easy.retry.server.common.enums.TaskGeneratorScene; import org.springframework.stereotype.Component; import java.util.Optional; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/generator/task/ManaSingleRetryGenerator.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/generator/task/ManaSingleRetryGenerator.java similarity index 83% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/generator/task/ManaSingleRetryGenerator.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/generator/task/ManaSingleRetryGenerator.java index b1be87b8..0e03f4ff 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/generator/task/ManaSingleRetryGenerator.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/generator/task/ManaSingleRetryGenerator.java @@ -1,7 +1,7 @@ -package com.aizuda.easy.retry.server.support.generator.task; +package com.aizuda.easy.retry.server.retry.task.generator.task; import com.aizuda.easy.retry.common.core.enums.RetryStatusEnum; -import com.aizuda.easy.retry.server.enums.TaskGeneratorScene; +import com.aizuda.easy.retry.server.common.enums.TaskGeneratorScene; import org.springframework.stereotype.Component; import java.util.Optional; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/generator/task/TaskContext.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/generator/task/TaskContext.java similarity index 93% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/generator/task/TaskContext.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/generator/task/TaskContext.java index b56a9071..f14f2fc4 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/generator/task/TaskContext.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/generator/task/TaskContext.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.support.generator.task; +package com.aizuda.easy.retry.server.retry.task.generator.task; import lombok.Data; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/generator/TaskGenerator.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/generator/task/TaskGenerator.java similarity index 78% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/generator/TaskGenerator.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/generator/task/TaskGenerator.java index e4ec3d76..65ed9ae4 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/generator/TaskGenerator.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/generator/task/TaskGenerator.java @@ -1,6 +1,7 @@ -package com.aizuda.easy.retry.server.support.generator; +package com.aizuda.easy.retry.server.retry.task.generator.task; -import com.aizuda.easy.retry.server.support.generator.task.TaskContext; + +import com.aizuda.easy.retry.server.retry.task.generator.task.TaskContext; /** * 任务生成器 diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/RetryDeadLetterConverter.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/service/RetryDeadLetterConverter.java similarity index 93% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/RetryDeadLetterConverter.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/service/RetryDeadLetterConverter.java index 30e0a648..018d3f7a 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/RetryDeadLetterConverter.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/service/RetryDeadLetterConverter.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.service.convert; +package com.aizuda.easy.retry.server.retry.task.service; import com.aizuda.easy.retry.template.datasource.persistence.po.RetryDeadLetter; import com.aizuda.easy.retry.template.datasource.persistence.po.RetryTask; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/RetryService.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/service/RetryService.java similarity index 94% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/RetryService.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/service/RetryService.java index aef2c879..793fdd0f 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/RetryService.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/service/RetryService.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.service; +package com.aizuda.easy.retry.server.retry.task.service; import com.aizuda.easy.retry.server.model.dto.RetryTaskDTO; diff --git a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/service/TaskContextConverter.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/service/TaskContextConverter.java new file mode 100644 index 00000000..4fe238c7 --- /dev/null +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/service/TaskContextConverter.java @@ -0,0 +1,20 @@ +package com.aizuda.easy.retry.server.retry.task.service; + +import com.aizuda.easy.retry.server.model.dto.RetryTaskDTO; +import com.aizuda.easy.retry.server.retry.task.generator.task.TaskContext; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** + * @author www.byteblogs.com + * @date 2023-07-16 22:09:40 + * @since 2.1.0 + */ +@Mapper +public interface TaskContextConverter { + TaskContextConverter INSTANCE = Mappers.getMapper(TaskContextConverter.class); + + List toTaskContextInfo(List retryTasks); +} diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/impl/RetryServiceImpl.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/service/impl/RetryServiceImpl.java similarity index 92% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/impl/RetryServiceImpl.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/service/impl/RetryServiceImpl.java index a9f3864a..f46c5f0d 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/impl/RetryServiceImpl.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/service/impl/RetryServiceImpl.java @@ -1,32 +1,30 @@ -package com.aizuda.easy.retry.server.service.impl; +package com.aizuda.easy.retry.server.retry.task.service.impl; import cn.hutool.core.lang.Assert; import cn.hutool.core.util.StrUtil; 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.log.LogUtils; import com.aizuda.easy.retry.common.core.util.JsonUtil; -import com.aizuda.easy.retry.server.enums.DelayLevelEnum; -import com.aizuda.easy.retry.server.enums.TaskTypeEnum; -import com.aizuda.easy.retry.server.exception.EasyRetryServerException; +import com.aizuda.easy.retry.server.common.enums.DelayLevelEnum; +import com.aizuda.easy.retry.server.common.enums.TaskTypeEnum; +import com.aizuda.easy.retry.server.common.exception.EasyRetryServerException; +import com.aizuda.easy.retry.server.common.generator.id.IdGenerator; import com.aizuda.easy.retry.server.model.dto.RetryTaskDTO; -import com.aizuda.easy.retry.server.service.RetryService; -import com.aizuda.easy.retry.server.service.convert.RetryDeadLetterConverter; -import com.aizuda.easy.retry.server.service.convert.RetryTaskConverter; -import com.aizuda.easy.retry.server.service.convert.RetryTaskLogConverter; -import com.aizuda.easy.retry.server.support.generator.IdGenerator; -import com.aizuda.easy.retry.server.support.strategy.WaitStrategies; -import com.aizuda.easy.retry.server.support.strategy.WaitStrategies.WaitStrategyEnum; +import com.aizuda.easy.retry.server.retry.task.service.RetryDeadLetterConverter; +import com.aizuda.easy.retry.server.retry.task.service.RetryService; +import com.aizuda.easy.retry.server.retry.task.support.RetryTaskConverter; +import com.aizuda.easy.retry.server.retry.task.support.RetryTaskLogConverter; +import com.aizuda.easy.retry.server.retry.task.support.strategy.WaitStrategies; import com.aizuda.easy.retry.template.datasource.access.AccessTemplate; import com.aizuda.easy.retry.template.datasource.access.ConfigAccess; import com.aizuda.easy.retry.template.datasource.access.TaskAccess; -import com.aizuda.easy.retry.common.core.enums.StatusEnum; import com.aizuda.easy.retry.template.datasource.persistence.mapper.RetryTaskLogMapper; import com.aizuda.easy.retry.template.datasource.persistence.po.*; import com.aizuda.easy.retry.template.datasource.utils.RequestDataHelper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -100,8 +98,8 @@ public class RetryServiceImpl implements RetryService { retryTask.setCreateDt(now); retryTask.setUpdateDt(now); - if (StringUtils.isBlank(retryTask.getExtAttrs())) { - retryTask.setExtAttrs(StringUtils.EMPTY); + if (StrUtil.isBlank(retryTask.getExtAttrs())) { + retryTask.setExtAttrs(StrUtil.EMPTY); } retryTask.setNextTriggerAt( @@ -132,7 +130,7 @@ public class RetryServiceImpl implements RetryService { sceneConfig.setGroupName(retryTaskDTO.getGroupName()); sceneConfig.setSceneName(retryTaskDTO.getSceneName()); sceneConfig.setSceneStatus(StatusEnum.YES.getStatus()); - sceneConfig.setBackOff(WaitStrategyEnum.DELAY_LEVEL.getBackOff()); + sceneConfig.setBackOff(WaitStrategies.WaitStrategyEnum.DELAY_LEVEL.getBackOff()); sceneConfig.setMaxRetryCount(DelayLevelEnum._21.getLevel()); sceneConfig.setDescription("自动初始化场景"); diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/FilterStrategy.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/FilterStrategy.java similarity index 91% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/FilterStrategy.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/FilterStrategy.java index a6e37c08..ec93751a 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/FilterStrategy.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/FilterStrategy.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.support; +package com.aizuda.easy.retry.server.retry.task.support; import cn.hutool.core.lang.Pair; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/IdempotentStrategy.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/IdempotentStrategy.java similarity index 81% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/IdempotentStrategy.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/IdempotentStrategy.java index c3fd49de..69766f1f 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/IdempotentStrategy.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/IdempotentStrategy.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.support; +package com.aizuda.easy.retry.server.retry.task.support; /** * 幂等策略 diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/RetryContext.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/RetryContext.java similarity index 87% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/RetryContext.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/RetryContext.java index 1a2e796e..b9ec9f1e 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/RetryContext.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/RetryContext.java @@ -1,8 +1,7 @@ -package com.aizuda.easy.retry.server.support; +package com.aizuda.easy.retry.server.retry.task.support; -import com.aizuda.easy.retry.server.dto.RegisterNodeInfo; +import com.aizuda.easy.retry.server.common.dto.RegisterNodeInfo; import com.aizuda.easy.retry.template.datasource.persistence.po.RetryTask; -import com.aizuda.easy.retry.template.datasource.persistence.po.ServerNode; import java.util.Set; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/RetryTaskConverter.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/RetryTaskConverter.java similarity index 77% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/RetryTaskConverter.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/RetryTaskConverter.java index f2c4229f..7cb278be 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/RetryTaskConverter.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/RetryTaskConverter.java @@ -1,10 +1,9 @@ -package com.aizuda.easy.retry.server.service.convert; +package com.aizuda.easy.retry.server.retry.task.support; import com.aizuda.easy.retry.server.model.dto.RetryTaskDTO; +import com.aizuda.easy.retry.server.retry.task.generator.task.TaskContext; import com.aizuda.easy.retry.template.datasource.persistence.po.RetryDeadLetter; import com.aizuda.easy.retry.template.datasource.persistence.po.RetryTask; -import com.aizuda.easy.retry.server.support.generator.task.TaskContext; -import com.aizuda.easy.retry.server.web.model.request.RetryTaskSaveRequestVO; import org.mapstruct.Mapper; import org.mapstruct.Mapping; import org.mapstruct.Mappings; @@ -30,7 +29,7 @@ public interface RetryTaskConverter { }) RetryTask toRetryTask(RetryDeadLetter retryDeadLetter); - RetryTask toRetryTask(RetryTaskSaveRequestVO retryTaskSaveRequestVO); +// RetryTask toRetryTask(RetryTaskSaveRequestVO retryTaskSaveRequestVO); List toRetryTaskList(List retryTaskDTOList); diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/RetryTaskLogConverter.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/RetryTaskLogConverter.java similarity index 91% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/RetryTaskLogConverter.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/RetryTaskLogConverter.java index af512990..817083f5 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/RetryTaskLogConverter.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/RetryTaskLogConverter.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.service.convert; +package com.aizuda.easy.retry.server.retry.task.support; import com.aizuda.easy.retry.template.datasource.persistence.po.RetryTask; import com.aizuda.easy.retry.template.datasource.persistence.po.RetryTaskLog; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/Schedule.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/Schedule.java similarity index 70% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/Schedule.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/Schedule.java index 219f2504..0939554c 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/Schedule.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/Schedule.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.support; +package com.aizuda.easy.retry.server.retry.task.support; /** * @author: www.byteblogs.com diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/StopStrategy.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/StopStrategy.java similarity index 91% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/StopStrategy.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/StopStrategy.java index b6f09958..fdc53144 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/StopStrategy.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/StopStrategy.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.support; +package com.aizuda.easy.retry.server.retry.task.support; /** * 重试停止策略 diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/WaitStrategy.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/WaitStrategy.java similarity index 87% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/WaitStrategy.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/WaitStrategy.java index 451d663b..f42045ab 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/WaitStrategy.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/WaitStrategy.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.support; +package com.aizuda.easy.retry.server.retry.task.support; import java.time.LocalDateTime; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/cache/CacheGroupRateLimiter.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/cache/CacheGroupRateLimiter.java similarity index 91% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/cache/CacheGroupRateLimiter.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/cache/CacheGroupRateLimiter.java index 782e9762..480b1de5 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/cache/CacheGroupRateLimiter.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/cache/CacheGroupRateLimiter.java @@ -1,10 +1,10 @@ -package com.aizuda.easy.retry.server.support.cache; +package com.aizuda.easy.retry.server.retry.task.support.cache; +import com.aizuda.easy.retry.common.core.log.LogUtils; +import com.aizuda.easy.retry.server.common.Lifecycle; import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; import com.google.common.util.concurrent.RateLimiter; -import com.aizuda.easy.retry.common.core.log.LogUtils; -import com.aizuda.easy.retry.server.support.Lifecycle; import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/cache/CacheGroupScanActor.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/cache/CacheGroupScanActor.java similarity index 88% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/cache/CacheGroupScanActor.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/cache/CacheGroupScanActor.java index 0e4a990a..16a1c61c 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/cache/CacheGroupScanActor.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/cache/CacheGroupScanActor.java @@ -1,11 +1,11 @@ -package com.aizuda.easy.retry.server.support.cache; +package com.aizuda.easy.retry.server.retry.task.support.cache; import akka.actor.ActorRef; -import com.aizuda.easy.retry.server.enums.TaskTypeEnum; import com.aizuda.easy.retry.common.core.log.LogUtils; +import com.aizuda.easy.retry.server.common.Lifecycle; +import com.aizuda.easy.retry.server.common.enums.TaskTypeEnum; import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; -import com.aizuda.easy.retry.server.support.Lifecycle; import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/cache/CacheLockRecord.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/cache/CacheLockRecord.java similarity index 92% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/cache/CacheLockRecord.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/cache/CacheLockRecord.java index 7e5f0730..c022dd13 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/cache/CacheLockRecord.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/cache/CacheLockRecord.java @@ -1,7 +1,7 @@ -package com.aizuda.easy.retry.server.support.cache; +package com.aizuda.easy.retry.server.retry.task.support.cache; import com.aizuda.easy.retry.common.core.log.LogUtils; -import com.aizuda.easy.retry.server.support.Lifecycle; +import com.aizuda.easy.retry.server.common.Lifecycle; import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; import lombok.extern.slf4j.Slf4j; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/context/CallbackRetryContext.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/context/CallbackRetryContext.java similarity index 72% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/context/CallbackRetryContext.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/context/CallbackRetryContext.java index 3400954c..e3556118 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/context/CallbackRetryContext.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/context/CallbackRetryContext.java @@ -1,12 +1,10 @@ -package com.aizuda.easy.retry.server.support.context; +package com.aizuda.easy.retry.server.retry.task.support.context; -import com.aizuda.easy.retry.server.dto.RegisterNodeInfo; +import com.aizuda.easy.retry.server.common.dto.RegisterNodeInfo; +import com.aizuda.easy.retry.server.retry.task.support.RetryContext; +import com.aizuda.easy.retry.server.retry.task.support.WaitStrategy; import com.aizuda.easy.retry.template.datasource.persistence.po.RetryTask; -import com.aizuda.easy.retry.template.datasource.persistence.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; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/context/MaxAttemptsPersistenceRetryContext.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/context/MaxAttemptsPersistenceRetryContext.java similarity index 78% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/context/MaxAttemptsPersistenceRetryContext.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/context/MaxAttemptsPersistenceRetryContext.java index 50e2d08d..447dc076 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/context/MaxAttemptsPersistenceRetryContext.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/context/MaxAttemptsPersistenceRetryContext.java @@ -1,10 +1,9 @@ -package com.aizuda.easy.retry.server.support.context; +package com.aizuda.easy.retry.server.retry.task.support.context; -import com.aizuda.easy.retry.server.dto.RegisterNodeInfo; +import com.aizuda.easy.retry.server.common.dto.RegisterNodeInfo; +import com.aizuda.easy.retry.server.retry.task.support.RetryContext; +import com.aizuda.easy.retry.server.retry.task.support.WaitStrategy; import com.aizuda.easy.retry.template.datasource.persistence.po.RetryTask; -import com.aizuda.easy.retry.template.datasource.persistence.po.ServerNode; -import com.aizuda.easy.retry.server.support.RetryContext; -import com.aizuda.easy.retry.server.support.WaitStrategy; import lombok.Data; import lombok.Getter; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/DispatchService.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/DispatchService.java similarity index 89% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/DispatchService.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/DispatchService.java index 5e01af12..720735e8 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/DispatchService.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/DispatchService.java @@ -1,17 +1,17 @@ -package com.aizuda.easy.retry.server.support.dispatch; +package com.aizuda.easy.retry.server.retry.task.support.dispatch; import akka.actor.ActorRef; import com.aizuda.easy.retry.common.core.log.LogUtils; -import com.aizuda.easy.retry.server.config.SystemProperties; -import com.aizuda.easy.retry.server.enums.TaskTypeEnum; +import com.aizuda.easy.retry.server.common.Lifecycle; +import com.aizuda.easy.retry.server.common.config.SystemProperties; +import com.aizuda.easy.retry.server.common.enums.TaskTypeEnum; +import com.aizuda.easy.retry.server.common.cache.CacheConsumerGroup; +import com.aizuda.easy.retry.server.retry.task.support.cache.CacheGroupRateLimiter; +import com.aizuda.easy.retry.server.retry.task.support.cache.CacheGroupScanActor; +import com.aizuda.easy.retry.server.common.handler.ServerNodeBalance; import com.aizuda.easy.retry.template.datasource.persistence.mapper.ServerNodeMapper; import com.aizuda.easy.retry.template.datasource.persistence.po.GroupConfig; import com.aizuda.easy.retry.template.datasource.persistence.po.ServerNode; -import com.aizuda.easy.retry.server.support.Lifecycle; -import com.aizuda.easy.retry.server.support.cache.CacheConsumerGroup; -import com.aizuda.easy.retry.server.support.cache.CacheGroupRateLimiter; -import com.aizuda.easy.retry.server.support.cache.CacheGroupScanActor; -import com.aizuda.easy.retry.server.support.handler.ServerNodeBalance; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.google.common.cache.Cache; import com.google.common.util.concurrent.RateLimiter; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/ScanTaskDTO.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/ScanTaskDTO.java similarity index 73% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/ScanTaskDTO.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/ScanTaskDTO.java index 76aa8721..e2a15e26 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/ScanTaskDTO.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/ScanTaskDTO.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.support.dispatch; +package com.aizuda.easy.retry.server.retry.task.support.dispatch; import lombok.Data; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/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 similarity index 83% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/actor/exec/ExecCallbackUnitActor.java rename to 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 ebf63e93..d3ddaf3f 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/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 @@ -1,29 +1,30 @@ -package com.aizuda.easy.retry.server.support.dispatch.actor.exec; +package com.aizuda.easy.retry.server.retry.task.support.dispatch.actor.exec; import akka.actor.AbstractActor; import akka.actor.ActorRef; import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.StrUtil; import com.aizuda.easy.retry.client.model.RetryCallbackDTO; -import com.aizuda.easy.retry.server.akka.ActorGenerator; -import com.aizuda.easy.retry.server.client.RequestBuilder; -import com.aizuda.easy.retry.server.client.RpcClient; -import com.aizuda.easy.retry.template.datasource.access.AccessTemplate; -import com.aizuda.easy.retry.template.datasource.access.TaskAccess; -import com.aizuda.easy.retry.server.dto.RegisterNodeInfo; import com.aizuda.easy.retry.common.core.enums.StatusEnum; 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.util.JsonUtil; -import com.aizuda.easy.retry.server.exception.EasyRetryServerException; +import com.aizuda.easy.retry.server.common.akka.ActorGenerator; +import com.aizuda.easy.retry.server.common.client.RequestBuilder; +import com.aizuda.easy.retry.server.common.client.RpcClient; +import com.aizuda.easy.retry.server.common.dto.RegisterNodeInfo; +import com.aizuda.easy.retry.server.common.exception.EasyRetryServerException; +import com.aizuda.easy.retry.server.retry.task.support.IdempotentStrategy; +import com.aizuda.easy.retry.server.retry.task.support.context.CallbackRetryContext; +import com.aizuda.easy.retry.server.retry.task.support.dispatch.actor.log.RetryTaskLogDTO; +import com.aizuda.easy.retry.server.retry.task.support.handler.CallbackRetryTaskHandler; +import com.aizuda.easy.retry.server.retry.task.support.retry.RetryExecutor; +import com.aizuda.easy.retry.template.datasource.access.AccessTemplate; +import com.aizuda.easy.retry.template.datasource.access.TaskAccess; import com.aizuda.easy.retry.template.datasource.persistence.po.RetryTask; -import com.aizuda.easy.retry.server.support.IdempotentStrategy; -import com.aizuda.easy.retry.server.support.context.CallbackRetryContext; -import com.aizuda.easy.retry.server.support.dispatch.actor.log.RetryTaskLogDTO; -import com.aizuda.easy.retry.server.support.handler.CallbackRetryTaskHandler; -import com.aizuda.easy.retry.server.support.retry.RetryExecutor; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.config.ConfigurableBeanFactory; @@ -40,13 +41,11 @@ import java.util.concurrent.Callable; * @date 2021-10-30 * @since 1.5.0 */ -@Component(ExecCallbackUnitActor.BEAN_NAME) +@Component(ActorGenerator.EXEC_CALLBACK_UNIT_ACTOR) @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) @Slf4j public class ExecCallbackUnitActor extends AbstractActor { - public static final String BEAN_NAME = "ExecCallbackUnitActor"; - @Autowired @Qualifier("bitSetIdempotentStrategyHandler") private IdempotentStrategy idempotentStrategy; @@ -75,7 +74,7 @@ public class ExecCallbackUnitActor extends AbstractActor { String message = "回调客户端成功"; if (StatusEnum.YES.getStatus() != result.getStatus()) { - if (StringUtils.isNotBlank(result.getMessage())) { + if (StrUtil.isNotBlank(result.getMessage())) { message = result.getMessage(); } else { message = "回调客户端失败: 异常信息为空"; @@ -93,7 +92,7 @@ public class ExecCallbackUnitActor extends AbstractActor { }catch (Exception e) { LogUtils.error(log, "callback client error. retryTask:[{}]", JsonUtil.toJsonString(retryTask), e); - retryTaskLog.setMessage(StringUtils.isBlank(e.getMessage()) ? StringUtils.EMPTY : e.getMessage()); + retryTaskLog.setMessage(StringUtils.isBlank(e.getMessage()) ? StrUtil.EMPTY : e.getMessage()); } finally { // 清除幂等标识位 diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/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 similarity index 86% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/actor/exec/ExecUnitActor.java rename to 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 1b688199..894d5241 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/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 @@ -1,27 +1,27 @@ -package com.aizuda.easy.retry.server.support.dispatch.actor.exec; +package com.aizuda.easy.retry.server.retry.task.support.dispatch.actor.exec; import akka.actor.AbstractActor; import akka.actor.ActorRef; +import cn.hutool.core.util.StrUtil; import com.aizuda.easy.retry.client.model.DispatchRetryDTO; import com.aizuda.easy.retry.client.model.DispatchRetryResultDTO; import com.aizuda.easy.retry.common.core.constant.SystemConstants; import com.aizuda.easy.retry.common.core.enums.RetryResultStatusEnum; +import com.aizuda.easy.retry.common.core.enums.StatusEnum; import com.aizuda.easy.retry.common.core.log.LogUtils; import com.aizuda.easy.retry.common.core.model.EasyRetryHeaders; import com.aizuda.easy.retry.common.core.model.Result; import com.aizuda.easy.retry.common.core.util.JsonUtil; -import com.aizuda.easy.retry.server.akka.ActorGenerator; -import com.aizuda.easy.retry.server.client.RequestBuilder; -import com.aizuda.easy.retry.server.client.RpcClient; -import com.aizuda.easy.retry.server.dto.RegisterNodeInfo; -import com.aizuda.easy.retry.common.core.enums.StatusEnum; +import com.aizuda.easy.retry.server.common.akka.ActorGenerator; +import com.aizuda.easy.retry.server.common.client.RequestBuilder; +import com.aizuda.easy.retry.server.common.client.RpcClient; +import com.aizuda.easy.retry.server.common.dto.RegisterNodeInfo; +import com.aizuda.easy.retry.server.retry.task.support.IdempotentStrategy; +import com.aizuda.easy.retry.server.retry.task.support.context.MaxAttemptsPersistenceRetryContext; +import com.aizuda.easy.retry.server.retry.task.support.dispatch.actor.log.RetryTaskLogDTO; +import com.aizuda.easy.retry.server.retry.task.support.retry.RetryExecutor; import com.aizuda.easy.retry.template.datasource.persistence.po.RetryTask; -import com.aizuda.easy.retry.server.support.IdempotentStrategy; -import com.aizuda.easy.retry.server.support.context.MaxAttemptsPersistenceRetryContext; -import com.aizuda.easy.retry.server.support.dispatch.actor.log.RetryTaskLogDTO; -import com.aizuda.easy.retry.server.support.retry.RetryExecutor; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.config.ConfigurableBeanFactory; @@ -39,14 +39,11 @@ import java.util.concurrent.Callable; * @date 2021-10-30 * @since 2.0 */ -@Component("ExecUnitActor") +@Component(ActorGenerator.EXEC_UNIT_ACTOR) @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) @Slf4j public class ExecUnitActor extends AbstractActor { - public static final String BEAN_NAME = "ExecUnitActor"; - public static final String URL = "http://{0}:{1}/{2}/retry/dispatch/v1"; - @Autowired @Qualifier("bitSetIdempotentStrategyHandler") private IdempotentStrategy idempotentStrategy; @@ -74,7 +71,7 @@ public class ExecUnitActor extends AbstractActor { // 回调接口请求成功,处理返回值 if (StatusEnum.YES.getStatus() != result.getStatus()) { - if (StringUtils.isNotBlank(result.getMessage())) { + if (StrUtil.isNotBlank(result.getMessage())) { retryTaskLog.setMessage(result.getMessage()); } else { retryTaskLog.setMessage("客户端执行失败: 异常信息为空"); @@ -84,7 +81,7 @@ public class ExecUnitActor extends AbstractActor { result.setData(data); if (Objects.nonNull(data)) { if (RetryResultStatusEnum.FAILURE.getStatus().equals(data.getStatusCode())) { - if (StringUtils.isNotBlank(data.getExceptionMsg())) { + if (StrUtil.isNotBlank(data.getExceptionMsg())) { retryTaskLog.setMessage(data.getExceptionMsg()); } else { retryTaskLog.setMessage("客户端重试失败: 异常信息为空"); diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/actor/log/LogActor.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/actor/log/LogActor.java similarity index 91% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/actor/log/LogActor.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/actor/log/LogActor.java index bfee5633..8d471604 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/actor/log/LogActor.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/actor/log/LogActor.java @@ -1,14 +1,15 @@ -package com.aizuda.easy.retry.server.support.dispatch.actor.log; +package com.aizuda.easy.retry.server.retry.task.support.dispatch.actor.log; import akka.actor.AbstractActor; +import cn.hutool.core.util.StrUtil; import com.aizuda.easy.retry.common.core.enums.RetryStatusEnum; +import com.aizuda.easy.retry.server.common.akka.ActorGenerator; import com.aizuda.easy.retry.template.datasource.persistence.mapper.RetryTaskLogMapper; import com.aizuda.easy.retry.template.datasource.persistence.mapper.RetryTaskLogMessageMapper; import com.aizuda.easy.retry.template.datasource.persistence.po.RetryTaskLog; import com.aizuda.easy.retry.template.datasource.persistence.po.RetryTaskLogMessage; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.config.ConfigurableBeanFactory; import org.springframework.context.annotation.Scope; @@ -23,13 +24,11 @@ import java.time.LocalDateTime; * @date : 2023-06-16 11:33 * @since 2.0.0 */ -@Component(LogActor.BEAN_NAME) +@Component(ActorGenerator.LOG_ACTOR) @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) @Slf4j public class LogActor extends AbstractActor { - public static final String BEAN_NAME = "LogActor"; - @Autowired private RetryTaskLogMessageMapper retryTaskLogMessageMapper; @Autowired @@ -69,7 +68,7 @@ public class LogActor extends AbstractActor { retryTaskLogMessage.setGroupName(retryTaskLogDTO.getGroupName()); String errorMessage = retryTaskLogDTO.getMessage(); retryTaskLogMessage.setMessage( - StringUtils.isBlank(errorMessage) ? StringUtils.EMPTY : errorMessage); + StrUtil.isBlank(errorMessage) ? StrUtil.EMPTY : errorMessage); retryTaskLogMessage.setCreateDt(LocalDateTime.now()); retryTaskLogMessageMapper.insert(retryTaskLogMessage); diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/actor/log/RetryTaskLogDTO.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/actor/log/RetryTaskLogDTO.java similarity index 85% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/actor/log/RetryTaskLogDTO.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/actor/log/RetryTaskLogDTO.java index 65f70b60..d56180fd 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/actor/log/RetryTaskLogDTO.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/actor/log/RetryTaskLogDTO.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.support.dispatch.actor.log; +package com.aizuda.easy.retry.server.retry.task.support.dispatch.actor.log; import lombok.Data; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/actor/result/FailureActor.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/actor/result/FailureActor.java similarity index 87% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/actor/result/FailureActor.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/actor/result/FailureActor.java index 246dbc9f..cf029e05 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/actor/result/FailureActor.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/actor/result/FailureActor.java @@ -1,16 +1,16 @@ -package com.aizuda.easy.retry.server.support.dispatch.actor.result; +package com.aizuda.easy.retry.server.retry.task.support.dispatch.actor.result; import akka.actor.AbstractActor; import akka.actor.ActorRef; import cn.hutool.core.lang.Assert; import com.aizuda.easy.retry.common.core.enums.RetryStatusEnum; import com.aizuda.easy.retry.common.core.log.LogUtils; -import com.aizuda.easy.retry.server.akka.ActorGenerator; -import com.aizuda.easy.retry.server.config.SystemProperties; -import com.aizuda.easy.retry.server.enums.TaskTypeEnum; -import com.aizuda.easy.retry.server.exception.EasyRetryServerException; -import com.aizuda.easy.retry.server.support.dispatch.actor.log.RetryTaskLogDTO; -import com.aizuda.easy.retry.server.support.handler.CallbackRetryTaskHandler; +import com.aizuda.easy.retry.server.common.akka.ActorGenerator; +import com.aizuda.easy.retry.server.common.config.SystemProperties; +import com.aizuda.easy.retry.server.common.enums.TaskTypeEnum; +import com.aizuda.easy.retry.server.common.exception.EasyRetryServerException; +import com.aizuda.easy.retry.server.retry.task.support.dispatch.actor.log.RetryTaskLogDTO; +import com.aizuda.easy.retry.server.retry.task.support.handler.CallbackRetryTaskHandler; import com.aizuda.easy.retry.template.datasource.access.AccessTemplate; import com.aizuda.easy.retry.template.datasource.persistence.po.RetryTask; import com.aizuda.easy.retry.template.datasource.persistence.po.SceneConfig; @@ -32,13 +32,11 @@ import java.time.LocalDateTime; * @date 2021-10-30 * @since 2.0 */ -@Component("FailureActor") +@Component(ActorGenerator.FAILURE_ACTOR) @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) @Slf4j public class FailureActor extends AbstractActor { - public static final String BEAN_NAME = "FailureActor"; - @Autowired private AccessTemplate accessTemplate; @Autowired diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/actor/result/FinishActor.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/actor/result/FinishActor.java similarity index 87% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/actor/result/FinishActor.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/actor/result/FinishActor.java index 57d3b6c5..b4ffe947 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/actor/result/FinishActor.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/actor/result/FinishActor.java @@ -1,14 +1,14 @@ -package com.aizuda.easy.retry.server.support.dispatch.actor.result; +package com.aizuda.easy.retry.server.retry.task.support.dispatch.actor.result; import akka.actor.AbstractActor; import akka.actor.ActorRef; import cn.hutool.core.lang.Assert; import com.aizuda.easy.retry.common.core.enums.RetryStatusEnum; import com.aizuda.easy.retry.common.core.log.LogUtils; -import com.aizuda.easy.retry.server.akka.ActorGenerator; -import com.aizuda.easy.retry.server.exception.EasyRetryServerException; -import com.aizuda.easy.retry.server.support.dispatch.actor.log.RetryTaskLogDTO; -import com.aizuda.easy.retry.server.support.handler.CallbackRetryTaskHandler; +import com.aizuda.easy.retry.server.common.akka.ActorGenerator; +import com.aizuda.easy.retry.server.common.exception.EasyRetryServerException; +import com.aizuda.easy.retry.server.retry.task.support.dispatch.actor.log.RetryTaskLogDTO; +import com.aizuda.easy.retry.server.retry.task.support.handler.CallbackRetryTaskHandler; import com.aizuda.easy.retry.template.datasource.access.AccessTemplate; import com.aizuda.easy.retry.template.datasource.persistence.po.RetryTask; import lombok.extern.slf4j.Slf4j; @@ -31,7 +31,7 @@ import java.time.LocalDateTime; * @date 2021-10-30 * @since 2.0 */ -@Component("FinishActor") +@Component(ActorGenerator.FINISH_ACTOR) @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) @Slf4j public class FinishActor extends AbstractActor { diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/actor/result/NoRetryActor.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/actor/result/NoRetryActor.java similarity index 81% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/actor/result/NoRetryActor.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/actor/result/NoRetryActor.java index 90283ce6..9f6052d1 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/actor/result/NoRetryActor.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/actor/result/NoRetryActor.java @@ -1,12 +1,13 @@ -package com.aizuda.easy.retry.server.support.dispatch.actor.result; +package com.aizuda.easy.retry.server.retry.task.support.dispatch.actor.result; import akka.actor.AbstractActor; import cn.hutool.core.lang.Assert; import com.aizuda.easy.retry.common.core.log.LogUtils; -import com.aizuda.easy.retry.server.exception.EasyRetryServerException; -import com.aizuda.easy.retry.server.support.RetryContext; -import com.aizuda.easy.retry.server.support.WaitStrategy; -import com.aizuda.easy.retry.server.support.retry.RetryExecutor; +import com.aizuda.easy.retry.server.common.akka.ActorGenerator; +import com.aizuda.easy.retry.server.common.exception.EasyRetryServerException; +import com.aizuda.easy.retry.server.retry.task.support.RetryContext; +import com.aizuda.easy.retry.server.retry.task.support.WaitStrategy; +import com.aizuda.easy.retry.server.retry.task.support.retry.RetryExecutor; import com.aizuda.easy.retry.template.datasource.access.AccessTemplate; import com.aizuda.easy.retry.template.datasource.persistence.po.RetryTask; import lombok.extern.slf4j.Slf4j; @@ -24,7 +25,7 @@ import java.time.LocalDateTime; * @date : 2022-04-14 16:11 * @since 1.0.0 */ -@Component(NoRetryActor.BEAN_NAME) +@Component(ActorGenerator.NO_RETRY_ACTOR) @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) @Slf4j public class NoRetryActor extends AbstractActor { diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/actor/scan/AbstractScanGroup.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/actor/scan/AbstractScanGroup.java similarity index 90% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/actor/scan/AbstractScanGroup.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/actor/scan/AbstractScanGroup.java index 00220b23..a4e84116 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/actor/scan/AbstractScanGroup.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/actor/scan/AbstractScanGroup.java @@ -1,17 +1,17 @@ -package com.aizuda.easy.retry.server.support.dispatch.actor.scan; +package com.aizuda.easy.retry.server.retry.task.support.dispatch.actor.scan; import akka.actor.AbstractActor; import akka.actor.ActorRef; import cn.hutool.core.lang.Pair; import com.aizuda.easy.retry.common.core.enums.RetryStatusEnum; import com.aizuda.easy.retry.common.core.log.LogUtils; -import com.aizuda.easy.retry.server.config.SystemProperties; -import com.aizuda.easy.retry.server.support.IdempotentStrategy; -import com.aizuda.easy.retry.server.support.RetryContext; -import com.aizuda.easy.retry.server.support.dispatch.DispatchService; -import com.aizuda.easy.retry.server.support.dispatch.ScanTaskDTO; -import com.aizuda.easy.retry.server.support.handler.ClientNodeAllocateHandler; -import com.aizuda.easy.retry.server.support.retry.RetryExecutor; +import com.aizuda.easy.retry.server.common.config.SystemProperties; +import com.aizuda.easy.retry.server.retry.task.support.IdempotentStrategy; +import com.aizuda.easy.retry.server.retry.task.support.RetryContext; +import com.aizuda.easy.retry.server.retry.task.support.dispatch.DispatchService; +import com.aizuda.easy.retry.server.retry.task.support.dispatch.ScanTaskDTO; +import com.aizuda.easy.retry.server.common.handler.ClientNodeAllocateHandler; +import com.aizuda.easy.retry.server.retry.task.support.retry.RetryExecutor; import com.aizuda.easy.retry.template.datasource.access.AccessTemplate; import com.aizuda.easy.retry.template.datasource.persistence.po.RetryTask; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/actor/scan/ScanCallbackGroupActor.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/actor/scan/ScanCallbackGroupActor.java similarity index 77% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/actor/scan/ScanCallbackGroupActor.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/actor/scan/ScanCallbackGroupActor.java index 044f3a5b..880d997b 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/actor/scan/ScanCallbackGroupActor.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/actor/scan/ScanCallbackGroupActor.java @@ -1,24 +1,23 @@ -package com.aizuda.easy.retry.server.support.dispatch.actor.scan; +package com.aizuda.easy.retry.server.retry.task.support.dispatch.actor.scan; import akka.actor.ActorRef; -import com.aizuda.easy.retry.server.enums.TaskTypeEnum; import com.aizuda.easy.retry.common.core.model.Result; -import com.aizuda.easy.retry.server.akka.ActorGenerator; +import com.aizuda.easy.retry.server.common.akka.ActorGenerator; +import com.aizuda.easy.retry.server.common.enums.TaskTypeEnum; +import com.aizuda.easy.retry.server.retry.task.support.RetryContext; +import com.aizuda.easy.retry.server.retry.task.support.WaitStrategy; +import com.aizuda.easy.retry.server.retry.task.support.context.CallbackRetryContext; +import com.aizuda.easy.retry.server.retry.task.support.retry.RetryBuilder; +import com.aizuda.easy.retry.server.retry.task.support.retry.RetryExecutor; +import com.aizuda.easy.retry.server.retry.task.support.strategy.FilterStrategies; +import com.aizuda.easy.retry.server.retry.task.support.strategy.StopStrategies; +import com.aizuda.easy.retry.server.retry.task.support.strategy.WaitStrategies; import com.aizuda.easy.retry.template.datasource.persistence.po.RetryTask; -import com.aizuda.easy.retry.server.support.RetryContext; -import com.aizuda.easy.retry.server.support.WaitStrategy; -import com.aizuda.easy.retry.server.support.context.CallbackRetryContext; -import com.aizuda.easy.retry.server.support.retry.RetryBuilder; -import com.aizuda.easy.retry.server.support.retry.RetryExecutor; -import com.aizuda.easy.retry.server.support.strategy.FilterStrategies; -import com.aizuda.easy.retry.server.support.strategy.StopStrategies; -import com.aizuda.easy.retry.server.support.strategy.WaitStrategies; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.config.ConfigurableBeanFactory; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; -import java.time.LocalDateTime; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; @@ -27,7 +26,7 @@ import java.util.concurrent.ConcurrentMap; * @date 2021-10-30 * @since 1.5.0 */ -@Component(ScanCallbackGroupActor.BEAN_NAME) +@Component(ActorGenerator.SCAN_CALLBACK_GROUP_ACTOR) @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) @Slf4j public class ScanCallbackGroupActor extends AbstractScanGroup { diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/actor/scan/ScanGroupActor.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/actor/scan/ScanGroupActor.java similarity index 79% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/actor/scan/ScanGroupActor.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/actor/scan/ScanGroupActor.java index 5d3a1b1e..4553237d 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/actor/scan/ScanGroupActor.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/dispatch/actor/scan/ScanGroupActor.java @@ -1,19 +1,19 @@ -package com.aizuda.easy.retry.server.support.dispatch.actor.scan; +package com.aizuda.easy.retry.server.retry.task.support.dispatch.actor.scan; import akka.actor.ActorRef; import com.aizuda.easy.retry.client.model.DispatchRetryResultDTO; -import com.aizuda.easy.retry.server.enums.TaskTypeEnum; import com.aizuda.easy.retry.common.core.model.Result; -import com.aizuda.easy.retry.server.akka.ActorGenerator; +import com.aizuda.easy.retry.server.common.akka.ActorGenerator; +import com.aizuda.easy.retry.server.common.enums.TaskTypeEnum; +import com.aizuda.easy.retry.server.retry.task.support.RetryContext; +import com.aizuda.easy.retry.server.retry.task.support.WaitStrategy; +import com.aizuda.easy.retry.server.retry.task.support.context.MaxAttemptsPersistenceRetryContext; +import com.aizuda.easy.retry.server.retry.task.support.retry.RetryBuilder; +import com.aizuda.easy.retry.server.retry.task.support.retry.RetryExecutor; +import com.aizuda.easy.retry.server.retry.task.support.strategy.FilterStrategies; +import com.aizuda.easy.retry.server.retry.task.support.strategy.StopStrategies; +import com.aizuda.easy.retry.server.retry.task.support.strategy.WaitStrategies; import com.aizuda.easy.retry.template.datasource.persistence.po.RetryTask; -import com.aizuda.easy.retry.server.support.RetryContext; -import com.aizuda.easy.retry.server.support.WaitStrategy; -import com.aizuda.easy.retry.server.support.context.MaxAttemptsPersistenceRetryContext; -import com.aizuda.easy.retry.server.support.retry.RetryBuilder; -import com.aizuda.easy.retry.server.support.retry.RetryExecutor; -import com.aizuda.easy.retry.server.support.strategy.FilterStrategies; -import com.aizuda.easy.retry.server.support.strategy.StopStrategies; -import com.aizuda.easy.retry.server.support.strategy.WaitStrategies; import com.aizuda.easy.retry.template.datasource.persistence.po.SceneConfig; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.config.ConfigurableBeanFactory; @@ -28,7 +28,7 @@ import java.util.concurrent.ConcurrentMap; * @date 2021-10-30 * @since 2.0 */ -@Component(ScanGroupActor.BEAN_NAME) +@Component(ActorGenerator.SCAN_RETRY_GROUP_ACTOR) @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) @Slf4j public class ScanGroupActor extends AbstractScanGroup { diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/handler/CallbackRetryTaskHandler.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/handler/CallbackRetryTaskHandler.java similarity index 87% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/handler/CallbackRetryTaskHandler.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/handler/CallbackRetryTaskHandler.java index 7fcc5912..31ad604c 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/handler/CallbackRetryTaskHandler.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/handler/CallbackRetryTaskHandler.java @@ -1,14 +1,14 @@ -package com.aizuda.easy.retry.server.support.handler; +package com.aizuda.easy.retry.server.retry.task.support.handler; import cn.hutool.core.lang.Assert; import cn.hutool.core.util.StrUtil; import com.aizuda.easy.retry.common.core.enums.RetryStatusEnum; -import com.aizuda.easy.retry.server.config.SystemProperties; -import com.aizuda.easy.retry.server.enums.TaskTypeEnum; -import com.aizuda.easy.retry.server.exception.EasyRetryServerException; -import com.aizuda.easy.retry.server.service.convert.RetryTaskConverter; -import com.aizuda.easy.retry.server.service.convert.RetryTaskLogConverter; -import com.aizuda.easy.retry.server.support.strategy.WaitStrategies; +import com.aizuda.easy.retry.server.common.config.SystemProperties; +import com.aizuda.easy.retry.server.common.enums.TaskTypeEnum; +import com.aizuda.easy.retry.server.common.exception.EasyRetryServerException; +import com.aizuda.easy.retry.server.retry.task.support.RetryTaskConverter; +import com.aizuda.easy.retry.server.retry.task.support.RetryTaskLogConverter; +import com.aizuda.easy.retry.server.retry.task.support.strategy.WaitStrategies; import com.aizuda.easy.retry.template.datasource.access.AccessTemplate; import com.aizuda.easy.retry.template.datasource.persistence.mapper.RetryTaskLogMapper; import com.aizuda.easy.retry.template.datasource.persistence.po.RetryTask; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/handler/ConfigVersionSyncHandler.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/handler/ConfigVersionSyncHandler.java similarity index 93% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/handler/ConfigVersionSyncHandler.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/handler/ConfigVersionSyncHandler.java index 60f150ed..7a091272 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/handler/ConfigVersionSyncHandler.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/handler/ConfigVersionSyncHandler.java @@ -1,12 +1,12 @@ -package com.aizuda.easy.retry.server.support.handler; +package com.aizuda.easy.retry.server.retry.task.support.handler; import cn.hutool.core.lang.Pair; import com.aizuda.easy.retry.common.core.log.LogUtils; import com.aizuda.easy.retry.common.core.model.Result; -import com.aizuda.easy.retry.server.dto.RegisterNodeInfo; +import com.aizuda.easy.retry.server.common.Lifecycle; +import com.aizuda.easy.retry.server.common.dto.RegisterNodeInfo; import com.aizuda.easy.retry.server.model.dto.ConfigDTO; -import com.aizuda.easy.retry.server.support.Lifecycle; -import com.aizuda.easy.retry.server.support.cache.CacheRegisterTable; +import com.aizuda.easy.retry.server.common.cache.CacheRegisterTable; import com.aizuda.easy.retry.template.datasource.access.AccessTemplate; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/server/handler/ReportRetryInfoHttpRequestHandler.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/handler/ReportRetryInfoHttpRequestHandler.java similarity index 88% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/server/handler/ReportRetryInfoHttpRequestHandler.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/handler/ReportRetryInfoHttpRequestHandler.java index 622df64c..32364d96 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/server/handler/ReportRetryInfoHttpRequestHandler.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/handler/ReportRetryInfoHttpRequestHandler.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.server.handler; +package com.aizuda.easy.retry.server.retry.task.support.handler; import cn.hutool.core.lang.Assert; import cn.hutool.core.net.url.UrlQuery; @@ -7,19 +7,14 @@ import com.aizuda.easy.retry.common.core.model.EasyRetryRequest; import com.aizuda.easy.retry.common.core.model.NettyResult; import com.aizuda.easy.retry.common.core.util.JsonUtil; import com.aizuda.easy.retry.common.core.enums.StatusEnum; -import com.aizuda.easy.retry.server.enums.TaskGeneratorScene; -import com.aizuda.easy.retry.server.exception.EasyRetryServerException; +import com.aizuda.easy.retry.server.common.enums.TaskGeneratorScene; +import com.aizuda.easy.retry.server.common.exception.EasyRetryServerException; +import com.aizuda.easy.retry.server.common.handler.PostHttpRequestHandler; import com.aizuda.easy.retry.server.model.dto.RetryTaskDTO; -import com.aizuda.easy.retry.server.service.convert.TaskContextConverter; -import com.aizuda.easy.retry.server.support.generator.TaskGenerator; -import com.aizuda.easy.retry.server.support.generator.task.TaskContext; -import com.github.rholder.retry.Attempt; -import com.github.rholder.retry.RetryException; -import com.github.rholder.retry.RetryListener; -import com.github.rholder.retry.Retryer; -import com.github.rholder.retry.RetryerBuilder; -import com.github.rholder.retry.StopStrategies; -import com.github.rholder.retry.WaitStrategies; +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.retry.task.service.TaskContextConverter; +import com.github.rholder.retry.*; import io.netty.handler.codec.http.HttpHeaders; import io.netty.handler.codec.http.HttpMethod; import lombok.extern.slf4j.Slf4j; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/idempotent/BitSetIdempotentStrategyHandler.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/idempotent/BitSetIdempotentStrategyHandler.java similarity index 85% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/idempotent/BitSetIdempotentStrategyHandler.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/idempotent/BitSetIdempotentStrategyHandler.java index ea18bcac..f2b5b052 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/idempotent/BitSetIdempotentStrategyHandler.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/idempotent/BitSetIdempotentStrategyHandler.java @@ -1,12 +1,10 @@ -package com.aizuda.easy.retry.server.support.idempotent; +package com.aizuda.easy.retry.server.retry.task.support.idempotent; -import com.aizuda.easy.retry.server.exception.EasyRetryServerException; -import com.aizuda.easy.retry.server.support.IdempotentStrategy; +import com.aizuda.easy.retry.server.common.exception.EasyRetryServerException; +import com.aizuda.easy.retry.server.retry.task.support.IdempotentStrategy; import org.springframework.stereotype.Component; import java.util.BitSet; -import java.util.HashMap; -import java.util.Map; import java.util.Objects; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/listener/EndListener.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/listener/EndListener.java similarity index 86% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/listener/EndListener.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/listener/EndListener.java index cb3886f0..74a4660e 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/listener/EndListener.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/listener/EndListener.java @@ -1,7 +1,7 @@ -package com.aizuda.easy.retry.server.support.listener; +package com.aizuda.easy.retry.server.retry.task.support.listener; import com.aizuda.easy.retry.common.core.log.LogUtils; -import com.aizuda.easy.retry.server.support.Lifecycle; +import com.aizuda.easy.retry.server.common.Lifecycle; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationListener; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/listener/StartListener.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/listener/StartListener.java similarity index 87% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/listener/StartListener.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/listener/StartListener.java index 12237f17..8d9922db 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/listener/StartListener.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/listener/StartListener.java @@ -1,10 +1,9 @@ -package com.aizuda.easy.retry.server.support.listener; +package com.aizuda.easy.retry.server.retry.task.support.listener; 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.util.EasyRetryVersion; -import com.aizuda.easy.retry.server.support.Lifecycle; -import com.aizuda.easy.retry.server.support.register.ServerRegister; +import com.aizuda.easy.retry.server.common.Lifecycle; import lombok.extern.slf4j.Slf4j; import org.slf4j.helpers.MessageFormatter; import org.springframework.beans.factory.annotation.Autowired; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/lock/AbstractLockProvider.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/lock/AbstractLockProvider.java similarity index 74% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/lock/AbstractLockProvider.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/lock/AbstractLockProvider.java index e51622d6..3a0cf6ae 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/lock/AbstractLockProvider.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/lock/AbstractLockProvider.java @@ -1,9 +1,8 @@ -package com.aizuda.easy.retry.server.support.lock; +package com.aizuda.easy.retry.server.retry.task.support.lock; -import com.aizuda.easy.retry.server.dto.LockConfig; -import com.aizuda.easy.retry.server.support.cache.CacheLockRecord; +import com.aizuda.easy.retry.server.common.dto.LockConfig; +import com.aizuda.easy.retry.server.retry.task.support.cache.CacheLockRecord; import com.aizuda.easy.retry.template.datasource.enums.DbTypeEnum; -import org.jetbrains.annotations.NotNull; import java.util.Arrays; import java.util.List; @@ -47,11 +46,11 @@ public abstract class AbstractLockProvider implements LockProvider { return updateRecord(lockConfig); } - protected boolean doLock(@NotNull final LockConfig lockConfig) { + protected boolean doLock(final LockConfig lockConfig) { return insertRecord(lockConfig); } - protected abstract boolean insertRecord(@NotNull final LockConfig lockConfig); + protected abstract boolean insertRecord(final LockConfig lockConfig); - protected abstract boolean updateRecord(@NotNull final LockConfig lockConfig); + protected abstract boolean updateRecord(final LockConfig lockConfig); } diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/lock/JdbcLockProvider.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/lock/JdbcLockProvider.java similarity index 90% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/lock/JdbcLockProvider.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/lock/JdbcLockProvider.java index 3aef95fc..9db234b4 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/lock/JdbcLockProvider.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/lock/JdbcLockProvider.java @@ -1,15 +1,14 @@ -package com.aizuda.easy.retry.server.support.lock; +package com.aizuda.easy.retry.server.retry.task.support.lock; import com.aizuda.easy.retry.common.core.log.LogUtils; -import com.aizuda.easy.retry.server.config.SystemProperties; -import com.aizuda.easy.retry.server.dto.LockConfig; +import com.aizuda.easy.retry.server.common.config.SystemProperties; +import com.aizuda.easy.retry.server.common.dto.LockConfig; +import com.aizuda.easy.retry.server.common.register.ServerRegister; import com.aizuda.easy.retry.template.datasource.persistence.mapper.DistributedLockMapper; import com.aizuda.easy.retry.template.datasource.persistence.po.DistributedLock; -import com.aizuda.easy.retry.server.support.register.ServerRegister; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.ConcurrencyFailureException; import org.springframework.dao.DataIntegrityViolationException; @@ -66,7 +65,7 @@ public class JdbcLockProvider extends AbstractLockProvider { } @Override - protected boolean insertRecord(@NotNull final LockConfig lockConfig) { + protected boolean insertRecord(final LockConfig lockConfig) { try { LocalDateTime now = lockConfig.getCreateDt(); @@ -90,7 +89,7 @@ public class JdbcLockProvider extends AbstractLockProvider { } @Override - protected boolean updateRecord(@NotNull final LockConfig lockConfig) { + protected boolean updateRecord(final LockConfig lockConfig) { LocalDateTime now = lockConfig.getCreateDt(); DistributedLock distributedLock = new DistributedLock(); distributedLock.setLockedBy(ServerRegister.CURRENT_CID); diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/lock/LockProvider.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/lock/LockProvider.java similarity index 67% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/lock/LockProvider.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/lock/LockProvider.java index 4b67cba5..9229dae2 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/lock/LockProvider.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/lock/LockProvider.java @@ -1,6 +1,7 @@ -package com.aizuda.easy.retry.server.support.lock; +package com.aizuda.easy.retry.server.retry.task.support.lock; -import com.aizuda.easy.retry.server.dto.LockConfig; + +import com.aizuda.easy.retry.server.common.dto.LockConfig; /** * @author www.byteblogs.com diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/retry/RetryBuilder.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/retry/RetryBuilder.java similarity index 83% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/retry/RetryBuilder.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/retry/RetryBuilder.java index a4b4a3c8..71298e4a 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/retry/RetryBuilder.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/retry/RetryBuilder.java @@ -1,10 +1,10 @@ -package com.aizuda.easy.retry.server.support.retry; +package com.aizuda.easy.retry.server.retry.task.support.retry; -import com.aizuda.easy.retry.server.exception.EasyRetryServerException; -import com.aizuda.easy.retry.server.support.FilterStrategy; -import com.aizuda.easy.retry.server.support.RetryContext; -import com.aizuda.easy.retry.server.support.StopStrategy; -import com.aizuda.easy.retry.server.support.WaitStrategy; +import com.aizuda.easy.retry.server.common.exception.EasyRetryServerException; +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.StopStrategy; +import com.aizuda.easy.retry.server.retry.task.support.WaitStrategy; import org.springframework.util.CollectionUtils; import java.util.*; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/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 similarity index 87% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/retry/RetryExecutor.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/retry/RetryExecutor.java index 9ece91a5..f3124fa0 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/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 @@ -1,16 +1,15 @@ -package com.aizuda.easy.retry.server.support.retry; +package com.aizuda.easy.retry.server.retry.task.support.retry; import akka.actor.ActorRef; import cn.hutool.core.lang.Pair; -import com.aizuda.easy.retry.server.akka.ActorGenerator; -import com.aizuda.easy.retry.server.support.FilterStrategy; -import com.aizuda.easy.retry.server.support.RetryContext; -import com.aizuda.easy.retry.server.support.StopStrategy; -import com.aizuda.easy.retry.server.support.WaitStrategy; +import com.aizuda.easy.retry.server.common.akka.ActorGenerator; +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.StopStrategy; +import com.aizuda.easy.retry.server.retry.task.support.WaitStrategy; import lombok.extern.slf4j.Slf4j; import java.util.List; -import java.util.Objects; import java.util.concurrent.Callable; /** diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/schedule/AbstractSchedule.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/AbstractSchedule.java similarity index 84% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/schedule/AbstractSchedule.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/AbstractSchedule.java index 74f0b522..04e6e145 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/schedule/AbstractSchedule.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/AbstractSchedule.java @@ -1,12 +1,12 @@ -package com.aizuda.easy.retry.server.support.schedule; +package com.aizuda.easy.retry.server.retry.task.support.schedule; import cn.hutool.core.lang.Assert; import com.aizuda.easy.retry.common.core.log.LogUtils; -import com.aizuda.easy.retry.server.config.SystemProperties; -import com.aizuda.easy.retry.server.dto.LockConfig; -import com.aizuda.easy.retry.server.exception.EasyRetryServerException; -import com.aizuda.easy.retry.server.support.Schedule; -import com.aizuda.easy.retry.server.support.lock.LockProvider; +import com.aizuda.easy.retry.server.common.config.SystemProperties; +import com.aizuda.easy.retry.server.common.dto.LockConfig; +import com.aizuda.easy.retry.server.common.exception.EasyRetryServerException; +import com.aizuda.easy.retry.server.retry.task.support.Schedule; +import com.aizuda.easy.retry.server.retry.task.support.lock.LockProvider; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/schedule/ClearLogSchedule.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/ClearLogSchedule.java similarity index 88% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/schedule/ClearLogSchedule.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/ClearLogSchedule.java index c0a956a8..253bb3c4 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/schedule/ClearLogSchedule.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/ClearLogSchedule.java @@ -1,20 +1,18 @@ -package com.aizuda.easy.retry.server.support.schedule; +package com.aizuda.easy.retry.server.retry.task.support.schedule; import com.aizuda.easy.retry.common.core.log.LogUtils; -import com.aizuda.easy.retry.server.config.SystemProperties; +import com.aizuda.easy.retry.server.common.Lifecycle; +import com.aizuda.easy.retry.server.common.config.SystemProperties; import com.aizuda.easy.retry.template.datasource.persistence.mapper.RetryTaskLogMapper; import com.aizuda.easy.retry.template.datasource.persistence.mapper.RetryTaskLogMessageMapper; 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.server.support.Lifecycle; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.time.Duration; -import java.time.Instant; import java.time.LocalDateTime; /** diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/schedule/OfflineNodeSchedule.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/OfflineNodeSchedule.java similarity index 87% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/schedule/OfflineNodeSchedule.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/OfflineNodeSchedule.java index b1420eea..fdb74995 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/schedule/OfflineNodeSchedule.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/OfflineNodeSchedule.java @@ -1,11 +1,11 @@ -package com.aizuda.easy.retry.server.support.schedule; +package com.aizuda.easy.retry.server.retry.task.support.schedule; import com.aizuda.easy.retry.common.core.log.LogUtils; -import com.aizuda.easy.retry.server.dto.RegisterNodeInfo; +import com.aizuda.easy.retry.server.common.Lifecycle; +import com.aizuda.easy.retry.server.common.dto.RegisterNodeInfo; +import com.aizuda.easy.retry.server.common.cache.CacheRegisterTable; +import com.aizuda.easy.retry.server.common.register.ServerRegister; import com.aizuda.easy.retry.template.datasource.persistence.mapper.ServerNodeMapper; -import com.aizuda.easy.retry.server.support.Lifecycle; -import com.aizuda.easy.retry.server.support.cache.CacheRegisterTable; -import com.aizuda.easy.retry.server.support.register.ServerRegister; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/schedule/RetryErrorMoreThresholdAlarmSchedule.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/RetryErrorMoreThresholdAlarmSchedule.java similarity index 97% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/schedule/RetryErrorMoreThresholdAlarmSchedule.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/RetryErrorMoreThresholdAlarmSchedule.java index cdf390a7..829516f4 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/schedule/RetryErrorMoreThresholdAlarmSchedule.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/RetryErrorMoreThresholdAlarmSchedule.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.support.schedule; +package com.aizuda.easy.retry.server.retry.task.support.schedule; import com.aizuda.easy.retry.common.core.alarm.Alarm; import com.aizuda.easy.retry.common.core.alarm.AlarmContext; @@ -8,7 +8,7 @@ import com.aizuda.easy.retry.common.core.enums.NotifySceneEnum; import com.aizuda.easy.retry.common.core.log.LogUtils; import com.aizuda.easy.retry.common.core.util.EnvironmentUtils; import com.aizuda.easy.retry.common.core.util.HostUtils; -import com.aizuda.easy.retry.server.support.Lifecycle; +import com.aizuda.easy.retry.server.common.Lifecycle; import com.aizuda.easy.retry.template.datasource.access.AccessTemplate; import com.aizuda.easy.retry.template.datasource.access.TaskAccess; import com.aizuda.easy.retry.template.datasource.persistence.po.GroupConfig; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/schedule/RetryTaskMoreThresholdAlarmSchedule.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/RetryTaskMoreThresholdAlarmSchedule.java similarity index 97% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/schedule/RetryTaskMoreThresholdAlarmSchedule.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/RetryTaskMoreThresholdAlarmSchedule.java index 8daffb4a..f24dde1f 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/schedule/RetryTaskMoreThresholdAlarmSchedule.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/RetryTaskMoreThresholdAlarmSchedule.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.support.schedule; +package com.aizuda.easy.retry.server.retry.task.support.schedule; import com.aizuda.easy.retry.common.core.alarm.Alarm; import com.aizuda.easy.retry.common.core.alarm.AlarmContext; @@ -9,7 +9,7 @@ import com.aizuda.easy.retry.common.core.enums.RetryStatusEnum; import com.aizuda.easy.retry.common.core.log.LogUtils; import com.aizuda.easy.retry.common.core.util.EnvironmentUtils; import com.aizuda.easy.retry.common.core.util.HostUtils; -import com.aizuda.easy.retry.server.support.Lifecycle; +import com.aizuda.easy.retry.server.common.Lifecycle; import com.aizuda.easy.retry.template.datasource.access.AccessTemplate; import com.aizuda.easy.retry.template.datasource.persistence.po.GroupConfig; import com.aizuda.easy.retry.template.datasource.persistence.po.NotifyConfig; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/schedule/RetryTaskSchedule.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/RetryTaskSchedule.java similarity index 89% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/schedule/RetryTaskSchedule.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/RetryTaskSchedule.java index be1d2382..5d50750e 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/schedule/RetryTaskSchedule.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/schedule/RetryTaskSchedule.java @@ -1,8 +1,8 @@ -package com.aizuda.easy.retry.server.support.schedule; +package com.aizuda.easy.retry.server.retry.task.support.schedule; import com.aizuda.easy.retry.common.core.log.LogUtils; -import com.aizuda.easy.retry.server.service.RetryService; -import com.aizuda.easy.retry.server.support.Lifecycle; +import com.aizuda.easy.retry.server.common.Lifecycle; +import com.aizuda.easy.retry.server.retry.task.service.RetryService; import com.aizuda.easy.retry.template.datasource.access.AccessTemplate; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/strategy/FilterStrategies.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/strategy/FilterStrategies.java similarity index 94% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/strategy/FilterStrategies.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/strategy/FilterStrategies.java index 7eeaddf7..1c357458 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/strategy/FilterStrategies.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/strategy/FilterStrategies.java @@ -1,19 +1,19 @@ -package com.aizuda.easy.retry.server.support.strategy; +package com.aizuda.easy.retry.server.retry.task.support.strategy; import cn.hutool.core.lang.Pair; -import com.aizuda.easy.retry.server.dto.RegisterNodeInfo; -import com.aizuda.easy.retry.server.support.handler.ServerNodeBalance; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.google.common.util.concurrent.RateLimiter; import com.aizuda.easy.retry.common.core.context.SpringContext; import com.aizuda.easy.retry.common.core.log.LogUtils; +import com.aizuda.easy.retry.server.common.dto.RegisterNodeInfo; +import com.aizuda.easy.retry.server.retry.task.support.FilterStrategy; +import com.aizuda.easy.retry.server.retry.task.support.IdempotentStrategy; +import com.aizuda.easy.retry.server.retry.task.support.RetryContext; +import com.aizuda.easy.retry.server.retry.task.support.cache.CacheGroupRateLimiter; +import com.aizuda.easy.retry.server.common.handler.ServerNodeBalance; import com.aizuda.easy.retry.template.datasource.persistence.mapper.ServerNodeMapper; import com.aizuda.easy.retry.template.datasource.persistence.po.RetryTask; import com.aizuda.easy.retry.template.datasource.persistence.po.ServerNode; -import com.aizuda.easy.retry.server.support.FilterStrategy; -import com.aizuda.easy.retry.server.support.IdempotentStrategy; -import com.aizuda.easy.retry.server.support.RetryContext; -import com.aizuda.easy.retry.server.support.cache.CacheGroupRateLimiter; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.google.common.util.concurrent.RateLimiter; import lombok.extern.slf4j.Slf4j; import java.text.MessageFormat; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/strategy/StopStrategies.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/strategy/StopStrategies.java similarity index 92% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/strategy/StopStrategies.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/strategy/StopStrategies.java index 3226bcb9..71ab6d5e 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/strategy/StopStrategies.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/strategy/StopStrategies.java @@ -1,12 +1,12 @@ -package com.aizuda.easy.retry.server.support.strategy; +package com.aizuda.easy.retry.server.retry.task.support.strategy; import com.aizuda.easy.retry.client.model.DispatchRetryResultDTO; import com.aizuda.easy.retry.common.core.enums.RetryResultStatusEnum; import com.aizuda.easy.retry.common.core.enums.StatusEnum; import com.aizuda.easy.retry.common.core.model.Result; -import com.aizuda.easy.retry.server.support.RetryContext; -import com.aizuda.easy.retry.server.support.StopStrategy; -import com.aizuda.easy.retry.server.support.context.MaxAttemptsPersistenceRetryContext; +import com.aizuda.easy.retry.server.retry.task.support.RetryContext; +import com.aizuda.easy.retry.server.retry.task.support.StopStrategy; +import com.aizuda.easy.retry.server.retry.task.support.context.MaxAttemptsPersistenceRetryContext; import java.util.Objects; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/strategy/WaitStrategies.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/strategy/WaitStrategies.java similarity index 94% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/strategy/WaitStrategies.java rename to easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/strategy/WaitStrategies.java index e88421e5..7caef01e 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/strategy/WaitStrategies.java +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/strategy/WaitStrategies.java @@ -1,13 +1,13 @@ -package com.aizuda.easy.retry.server.support.strategy; +package com.aizuda.easy.retry.server.retry.task.support.strategy; import com.aizuda.easy.retry.common.core.context.SpringContext; import com.aizuda.easy.retry.common.core.util.CronExpression; -import com.aizuda.easy.retry.server.config.SystemProperties; -import com.aizuda.easy.retry.server.enums.DelayLevelEnum; -import com.aizuda.easy.retry.server.enums.TaskTypeEnum; -import com.aizuda.easy.retry.server.exception.EasyRetryServerException; -import com.aizuda.easy.retry.server.support.RetryContext; -import com.aizuda.easy.retry.server.support.WaitStrategy; +import com.aizuda.easy.retry.server.common.config.SystemProperties; +import com.aizuda.easy.retry.server.common.enums.DelayLevelEnum; +import com.aizuda.easy.retry.server.common.enums.TaskTypeEnum; +import com.aizuda.easy.retry.server.common.exception.EasyRetryServerException; +import com.aizuda.easy.retry.server.retry.task.support.RetryContext; +import com.aizuda.easy.retry.server.retry.task.support.WaitStrategy; import com.aizuda.easy.retry.template.datasource.access.AccessTemplate; import com.aizuda.easy.retry.template.datasource.persistence.po.RetryTask; import com.aizuda.easy.retry.template.datasource.persistence.po.SceneConfig; diff --git a/easy-retry-server/easy-retry-server-retry-task/src/main/resources/META-INF/spring.factories b/easy-retry-server/easy-retry-server-retry-task/src/main/resources/META-INF/spring.factories new file mode 100644 index 00000000..c2a80ad7 --- /dev/null +++ b/easy-retry-server/easy-retry-server-retry-task/src/main/resources/META-INF/spring.factories @@ -0,0 +1,2 @@ +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ + com.aizuda.easy.retry.server.retry.task.config.EasyRetryServerRetryTaskAutoConfiguration diff --git a/easy-retry-server/.gitignore b/easy-retry-server/easy-retry-server-starter/.gitignore similarity index 97% rename from easy-retry-server/.gitignore rename to easy-retry-server/easy-retry-server-starter/.gitignore index a73f4141..28b51ee1 100644 --- a/easy-retry-server/.gitignore +++ b/easy-retry-server/easy-retry-server-starter/.gitignore @@ -1,5 +1,5 @@ HELP.md -target/ +../target/ !.mvn/wrapper/maven-wrapper.jar !**/src/main/**/target/ !**/src/test/**/target/ diff --git a/easy-retry-server/Dockerfile b/easy-retry-server/easy-retry-server-starter/Dockerfile similarity index 80% rename from easy-retry-server/Dockerfile rename to easy-retry-server/easy-retry-server-starter/Dockerfile index eee3addb..5f89619a 100644 --- a/easy-retry-server/Dockerfile +++ b/easy-retry-server/easy-retry-server-starter/Dockerfile @@ -2,7 +2,7 @@ FROM openjdk:8-jdk-alpine MAINTAINER www.byteblogs.com LABEL server-name=easy-retry-server -ADD ./target/easy-retry-server.jar easy-retry-server.jar +ADD ../target/easy-retry-server.jar easy-retry-server.jar #对外暴漏的端口号 EXPOSE 8080 diff --git a/easy-retry-server/easy-retry-server-starter/pom.xml b/easy-retry-server/easy-retry-server-starter/pom.xml new file mode 100644 index 00000000..9e3dd24e --- /dev/null +++ b/easy-retry-server/easy-retry-server-starter/pom.xml @@ -0,0 +1,74 @@ + + + 4.0.0 + + com.aizuda + easy-retry-server + ${revision} + ../pom.xml + + + easy-retry-server-starter + easy-retry-server-starter + easy-retry-server-starter + jar + + + 1.8 + 8 + 8 + UTF-8 + + + + + com.aizuda + easy-retry-server-web + + + com.aizuda + easy-retry-server-retry-task + + + com.aizuda + easy-retry-server-job-task + + + com.aizuda + easy-retry-server-common + + + org.springframework.boot + spring-boot-starter-web + + + io.netty + netty-all + + + junit + junit + test + + + org.projectlombok + lombok + + + com.github.rholder + guava-retrying + + + org.springframework.boot + spring-boot-configuration-processor + true + + + org.springframework.boot + spring-boot-starter-test + test + + + diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/EasyRetryServerApplication.java b/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/EasyRetryServerApplication.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/EasyRetryServerApplication.java rename to easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/EasyRetryServerApplication.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/server/NettyHttpServer.java b/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/server/NettyHttpServer.java similarity index 94% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/server/NettyHttpServer.java rename to easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/server/NettyHttpServer.java index 42324353..9bba99f1 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/server/NettyHttpServer.java +++ b/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/server/NettyHttpServer.java @@ -1,8 +1,9 @@ package com.aizuda.easy.retry.server.server; -import com.aizuda.easy.retry.server.config.SystemProperties; -import com.aizuda.easy.retry.server.exception.EasyRetryServerException; -import com.aizuda.easy.retry.server.support.Lifecycle; + +import com.aizuda.easy.retry.server.common.config.SystemProperties; +import com.aizuda.easy.retry.server.common.exception.EasyRetryServerException; +import com.aizuda.easy.retry.server.common.Lifecycle; import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.ChannelFuture; import io.netty.channel.ChannelInitializer; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/server/NettyHttpServerHandler.java b/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/server/NettyHttpServerHandler.java similarity index 88% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/server/NettyHttpServerHandler.java rename to easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/server/NettyHttpServerHandler.java index 5f77c255..4b6e682f 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/server/NettyHttpServerHandler.java +++ b/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/server/NettyHttpServerHandler.java @@ -1,8 +1,8 @@ package com.aizuda.easy.retry.server.server; import akka.actor.ActorRef; -import com.aizuda.easy.retry.server.akka.ActorGenerator; -import com.aizuda.easy.retry.server.dto.NettyHttpRequest; +import com.aizuda.easy.retry.server.common.akka.ActorGenerator; +import com.aizuda.easy.retry.server.common.dto.NettyHttpRequest; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.SimpleChannelInboundHandler; import io.netty.handler.codec.http.FullHttpRequest; @@ -10,8 +10,6 @@ import io.netty.handler.codec.http.HttpUtil; import io.netty.util.CharsetUtil; import lombok.extern.slf4j.Slf4j; -import java.util.concurrent.ThreadPoolExecutor; - /** * @author: www.byteblogs.com * @date : 2022-03-07 16:03 diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/server/RequestHandlerActor.java b/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/server/RequestHandlerActor.java similarity index 90% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/server/RequestHandlerActor.java rename to easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/server/RequestHandlerActor.java index 8f69f419..8feeea97 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/server/RequestHandlerActor.java +++ b/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/server/RequestHandlerActor.java @@ -2,17 +2,19 @@ package com.aizuda.easy.retry.server.server; import akka.actor.AbstractActor; import cn.hutool.core.net.url.UrlBuilder; +import cn.hutool.core.util.StrUtil; import com.aizuda.easy.retry.common.core.context.SpringContext; import com.aizuda.easy.retry.common.core.enums.HeadersEnum; 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.util.JsonUtil; -import com.aizuda.easy.retry.server.dto.NettyHttpRequest; -import com.aizuda.easy.retry.server.server.handler.HttpRequestHandler; -import com.aizuda.easy.retry.server.support.Register; -import com.aizuda.easy.retry.server.support.handler.ConfigVersionSyncHandler; -import com.aizuda.easy.retry.server.support.register.ClientRegister; -import com.aizuda.easy.retry.server.support.register.RegisterContext; +import com.aizuda.easy.retry.server.common.akka.ActorGenerator; +import com.aizuda.easy.retry.server.common.dto.NettyHttpRequest; +import com.aizuda.easy.retry.server.common.Register; +import com.aizuda.easy.retry.server.retry.task.support.handler.ConfigVersionSyncHandler; +import com.aizuda.easy.retry.server.common.register.ClientRegister; +import com.aizuda.easy.retry.server.common.register.RegisterContext; +import com.aizuda.easy.retry.server.common.handler.HttpRequestHandler; import io.netty.buffer.Unpooled; import io.netty.channel.ChannelHandlerContext; import io.netty.handler.codec.http.DefaultFullHttpResponse; @@ -25,7 +27,6 @@ import io.netty.handler.codec.http.HttpResponseStatus; import io.netty.handler.codec.http.HttpVersion; import io.netty.util.CharsetUtil; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.config.ConfigurableBeanFactory; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; @@ -39,19 +40,17 @@ import java.util.Collection; * @date : 2023-07-24 09:20 * @since 2.1.0 */ -@Component(RequestHandlerActor.BEAN_NAME) +@Component(ActorGenerator.REQUEST_HANDLER_ACTOR) @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) @Slf4j public class RequestHandlerActor extends AbstractActor { - public static final String BEAN_NAME = "requestHandlerActor"; - @Override public Receive createReceive() { return receiveBuilder().match(NettyHttpRequest.class, nettyHttpRequest -> { final String uri = nettyHttpRequest.getUri(); - if (StringUtils.isBlank(uri)) { + if (StrUtil.isBlank(uri)) { LogUtils.error(log, "uri can not be null"); return; } diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/server/handler/BeatHttpRequestHandler.java b/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/server/handler/BeatHttpRequestHandler.java similarity index 95% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/server/handler/BeatHttpRequestHandler.java rename to easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/server/handler/BeatHttpRequestHandler.java index 70638bc7..baa87a4a 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/server/handler/BeatHttpRequestHandler.java +++ b/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/server/handler/BeatHttpRequestHandler.java @@ -6,6 +6,7 @@ import com.aizuda.easy.retry.common.core.log.LogUtils; import com.aizuda.easy.retry.common.core.model.NettyResult; import com.aizuda.easy.retry.common.core.model.EasyRetryRequest; import com.aizuda.easy.retry.common.core.util.JsonUtil; +import com.aizuda.easy.retry.server.common.handler.GetHttpRequestHandler; import io.netty.handler.codec.http.HttpHeaders; import io.netty.handler.codec.http.HttpMethod; import lombok.extern.slf4j.Slf4j; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/server/handler/ConfigHttpRequestHandler.java b/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/server/handler/ConfigHttpRequestHandler.java similarity index 95% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/server/handler/ConfigHttpRequestHandler.java rename to easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/server/handler/ConfigHttpRequestHandler.java index 98917aa1..63793556 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/server/handler/ConfigHttpRequestHandler.java +++ b/easy-retry-server/easy-retry-server-starter/src/main/java/com/aizuda/easy/retry/server/server/handler/ConfigHttpRequestHandler.java @@ -1,6 +1,7 @@ package com.aizuda.easy.retry.server.server.handler; import cn.hutool.core.net.url.UrlQuery; +import com.aizuda.easy.retry.server.common.handler.GetHttpRequestHandler; import com.aizuda.easy.retry.server.model.dto.ConfigDTO; import com.aizuda.easy.retry.common.core.enums.HeadersEnum; import com.aizuda.easy.retry.common.core.model.NettyResult; diff --git a/easy-retry-server/src/main/resources/admin/assets/background.6f870c8d.svg b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/assets/background.6f870c8d.svg similarity index 100% rename from easy-retry-server/src/main/resources/admin/assets/background.6f870c8d.svg rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/assets/background.6f870c8d.svg diff --git a/easy-retry-server/src/main/resources/admin/avatar2.jpg b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/avatar2.jpg similarity index 100% rename from easy-retry-server/src/main/resources/admin/avatar2.jpg rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/avatar2.jpg diff --git a/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/css/app.f24fef3a.css b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/css/app.f24fef3a.css new file mode 100644 index 00000000..39e435e4 --- /dev/null +++ b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/css/app.f24fef3a.css @@ -0,0 +1 @@ +.ant-pro-header-menu .anticon{margin-right:8px}.ant-pro-header-menu .ant-dropdown-menu-item{min-width:160px}.ant-pro-drop-down{line-height:64px;vertical-align:top;cursor:pointer}.ant-pro-drop-down>i{font-size:16px!important;-webkit-transform:none!important;transform:none!important}.ant-pro-drop-down>i svg{position:relative;top:-1px}#userLayout.user-layout-wrapper[data-v-77578f85]{height:100%}#userLayout.user-layout-wrapper.mobile .container .main[data-v-77578f85]{max-width:368px;width:98%}#userLayout.user-layout-wrapper .container[data-v-77578f85]{width:100%;min-height:100%;background:#f0f2f5 url(background.6f870c8d.svg) no-repeat 50%;background-size:100%;padding:10% 0 0 0;position:relative}#userLayout.user-layout-wrapper .container .user-layout-lang[data-v-77578f85]{width:100%;height:40px;line-height:44px;text-align:right}#userLayout.user-layout-wrapper .container .user-layout-lang .select-lang-trigger[data-v-77578f85]{cursor:pointer;padding:12px;margin-right:24px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:18px;vertical-align:middle}#userLayout.user-layout-wrapper .container .user-layout-content[data-v-77578f85]{padding:32px 0 24px}#userLayout.user-layout-wrapper .container .user-layout-content .top[data-v-77578f85]{text-align:center}#userLayout.user-layout-wrapper .container .user-layout-content .top .header[data-v-77578f85]{height:44px;line-height:44px}#userLayout.user-layout-wrapper .container .user-layout-content .top .header .badge[data-v-77578f85]{position:absolute;display:inline-block;line-height:1;vertical-align:middle;margin-left:-12px;margin-top:-10px;opacity:.8}#userLayout.user-layout-wrapper .container .user-layout-content .top .header .logo[data-v-77578f85]{height:44px;vertical-align:top;margin-right:16px;border-style:none}#userLayout.user-layout-wrapper .container .user-layout-content .top .header .title[data-v-77578f85]{font-size:33px;color:rgba(0,0,0,.85);font-family:Avenir,Helvetica Neue,Arial,Helvetica,sans-serif;font-weight:600;position:relative;top:2px}#userLayout.user-layout-wrapper .container .user-layout-content .top .desc[data-v-77578f85]{font-size:14px;color:rgba(0,0,0,.45);margin-top:12px;margin-bottom:40px}#userLayout.user-layout-wrapper .container .user-layout-content .main[data-v-77578f85]{min-width:260px;width:368px;margin:0 auto}#userLayout.user-layout-wrapper .container .user-layout-content .footer[data-v-77578f85]{width:100%;bottom:0;padding:0 16px;margin:48px 0 24px;text-align:center}#userLayout.user-layout-wrapper .container .user-layout-content .footer .links[data-v-77578f85]{margin-bottom:8px;font-size:14px}#userLayout.user-layout-wrapper .container .user-layout-content .footer .links a[data-v-77578f85]{color:rgba(0,0,0,.45);-webkit-transition:all .3s;transition:all .3s}#userLayout.user-layout-wrapper .container .user-layout-content .footer .links a[data-v-77578f85]:not(:last-child){margin-right:40px}#userLayout.user-layout-wrapper .container .user-layout-content .footer .copyright[data-v-77578f85]{color:rgba(0,0,0,.45);font-size:14px}#userLayout.user-layout-wrapper .container a[data-v-77578f85]{text-decoration:none}.ant-pro-drop-down[data-v-fd4de960] .action{margin-right:8px}.ant-pro-drop-down[data-v-fd4de960] .ant-dropdown-menu-item{min-width:160px}.business-pro-ad[data-v-4109f67d]{position:fixed;background:hsla(0,0%,100%,.25);left:0;bottom:0;padding:0 12px;height:48px;width:258px;z-index:99}.ant-pro-global-header-index-right{margin-right:8px}.ant-pro-global-header-index-right.ant-pro-global-header-index-dark .ant-pro-global-header-index-action{color:hsla(0,0%,100%,.85)}.ant-pro-global-header-index-right.ant-pro-global-header-index-dark .ant-pro-global-header-index-action:hover{background:#1890ff}.ant-pro-global-header-index-right .ant-pro-account-avatar .antd-pro-global-header-index-avatar{margin:20px 0;margin-right:8px;color:#22aae3;vertical-align:top;background:hsla(0,0%,100%,.85)}.ant-pro-global-header-index-right .menu .anticon{margin-right:8px}.ant-pro-global-header-index-right .menu .ant-dropdown-menu-item{min-width:100px}.ant-pro-multi-tab{margin:-23px -24px 24px -24px;background:#fff}.topmenu .ant-pro-multi-tab-wrapper{max-width:1200px;margin:0 auto}.topmenu.content-width-Fluid .ant-pro-multi-tab-wrapper{max-width:100%;margin:0 auto}body,html{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,:after,:before{-webkit-box-sizing:border-box;box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;color:rgba(0,0,0,.65);font-size:14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-variant:tabular-nums;line-height:1.5;background-color:#fff;-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum"}[tabindex="-1"]:focus{outline:none!important}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;color:rgba(0,0,0,.85);font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=number],input[type=password],input[type=text],textarea{-webkit-appearance:none}dl,ol,ul{margin-top:0;margin-bottom:1em}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#22aae3;text-decoration:none;background-color:transparent;outline:none;cursor:pointer;-webkit-transition:color .3s;transition:color .3s;-webkit-text-decoration-skip:objects}a:hover{color:#4ac4f0}a:active{color:#1384bd}a:active,a:hover{text-decoration:none;outline:0}a[disabled]{color:rgba(0,0,0,.25);cursor:not-allowed;pointer-events:none}code,kbd,pre,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}[role=button],a,area,button,input:not([type=range]),label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;color:rgba(0,0,0,.45);text-align:left;caption-side:bottom}th{text-align:inherit}button,input,optgroup,select,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}::-moz-selection{color:#fff;background:#22aae3}::selection{color:#fff;background:#22aae3}.clearfix{zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}.anticon{display:inline-block;color:inherit;font-style:normal;line-height:0;text-align:center;text-transform:none;vertical-align:-.125em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.anticon>*{line-height:1}.anticon svg{display:inline-block}.anticon:before{display:none}.anticon .anticon-icon{display:block}.anticon[tabindex]{cursor:pointer}.anticon-spin,.anticon-spin:before{display:inline-block;-webkit-animation:loadingCircle 1s linear infinite;animation:loadingCircle 1s linear infinite}.fade-appear,.fade-enter,.fade-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.fade-appear.fade-appear-active,.fade-enter.fade-enter-active{-webkit-animation-name:antFadeIn;animation-name:antFadeIn;-webkit-animation-play-state:running;animation-play-state:running}.fade-leave.fade-leave-active{-webkit-animation-name:antFadeOut;animation-name:antFadeOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.fade-appear,.fade-enter{opacity:0}.fade-appear,.fade-enter,.fade-leave{-webkit-animation-timing-function:linear;animation-timing-function:linear}@-webkit-keyframes antFadeIn{0%{opacity:0}to{opacity:1}}@keyframes antFadeIn{0%{opacity:0}to{opacity:1}}@-webkit-keyframes antFadeOut{0%{opacity:1}to{opacity:0}}@keyframes antFadeOut{0%{opacity:1}to{opacity:0}}.move-up-appear,.move-up-enter,.move-up-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.move-up-appear.move-up-appear-active,.move-up-enter.move-up-enter-active{-webkit-animation-name:antMoveUpIn;animation-name:antMoveUpIn;-webkit-animation-play-state:running;animation-play-state:running}.move-up-leave.move-up-leave-active{-webkit-animation-name:antMoveUpOut;animation-name:antMoveUpOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.move-up-appear,.move-up-enter{opacity:0;-webkit-animation-timing-function:cubic-bezier(.08,.82,.17,1);animation-timing-function:cubic-bezier(.08,.82,.17,1)}.move-up-leave{-webkit-animation-timing-function:cubic-bezier(.6,.04,.98,.34);animation-timing-function:cubic-bezier(.6,.04,.98,.34)}.move-down-appear,.move-down-enter,.move-down-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.move-down-appear.move-down-appear-active,.move-down-enter.move-down-enter-active{-webkit-animation-name:antMoveDownIn;animation-name:antMoveDownIn;-webkit-animation-play-state:running;animation-play-state:running}.move-down-leave.move-down-leave-active{-webkit-animation-name:antMoveDownOut;animation-name:antMoveDownOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.move-down-appear,.move-down-enter{opacity:0;-webkit-animation-timing-function:cubic-bezier(.08,.82,.17,1);animation-timing-function:cubic-bezier(.08,.82,.17,1)}.move-down-leave{-webkit-animation-timing-function:cubic-bezier(.6,.04,.98,.34);animation-timing-function:cubic-bezier(.6,.04,.98,.34)}.move-left-appear,.move-left-enter,.move-left-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.move-left-appear.move-left-appear-active,.move-left-enter.move-left-enter-active{-webkit-animation-name:antMoveLeftIn;animation-name:antMoveLeftIn;-webkit-animation-play-state:running;animation-play-state:running}.move-left-leave.move-left-leave-active{-webkit-animation-name:antMoveLeftOut;animation-name:antMoveLeftOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.move-left-appear,.move-left-enter{opacity:0;-webkit-animation-timing-function:cubic-bezier(.08,.82,.17,1);animation-timing-function:cubic-bezier(.08,.82,.17,1)}.move-left-leave{-webkit-animation-timing-function:cubic-bezier(.6,.04,.98,.34);animation-timing-function:cubic-bezier(.6,.04,.98,.34)}.move-right-appear,.move-right-enter,.move-right-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.move-right-appear.move-right-appear-active,.move-right-enter.move-right-enter-active{-webkit-animation-name:antMoveRightIn;animation-name:antMoveRightIn;-webkit-animation-play-state:running;animation-play-state:running}.move-right-leave.move-right-leave-active{-webkit-animation-name:antMoveRightOut;animation-name:antMoveRightOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.move-right-appear,.move-right-enter{opacity:0;-webkit-animation-timing-function:cubic-bezier(.08,.82,.17,1);animation-timing-function:cubic-bezier(.08,.82,.17,1)}.move-right-leave{-webkit-animation-timing-function:cubic-bezier(.6,.04,.98,.34);animation-timing-function:cubic-bezier(.6,.04,.98,.34)}@-webkit-keyframes antMoveDownIn{0%{-webkit-transform:translateY(100%);transform:translateY(100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@keyframes antMoveDownIn{0%{-webkit-transform:translateY(100%);transform:translateY(100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@-webkit-keyframes antMoveDownOut{0%{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}to{-webkit-transform:translateY(100%);transform:translateY(100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}}@keyframes antMoveDownOut{0%{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}to{-webkit-transform:translateY(100%);transform:translateY(100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}}@-webkit-keyframes antMoveLeftIn{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}to{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@keyframes antMoveLeftIn{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}to{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@-webkit-keyframes antMoveLeftOut{0%{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}to{-webkit-transform:translateX(-100%);transform:translateX(-100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}}@keyframes antMoveLeftOut{0%{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}to{-webkit-transform:translateX(-100%);transform:translateX(-100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}}@-webkit-keyframes antMoveRightIn{0%{-webkit-transform:translateX(100%);transform:translateX(100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}to{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@keyframes antMoveRightIn{0%{-webkit-transform:translateX(100%);transform:translateX(100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}to{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@-webkit-keyframes antMoveRightOut{0%{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}to{-webkit-transform:translateX(100%);transform:translateX(100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}}@keyframes antMoveRightOut{0%{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}to{-webkit-transform:translateX(100%);transform:translateX(100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}}@-webkit-keyframes antMoveUpIn{0%{-webkit-transform:translateY(-100%);transform:translateY(-100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@keyframes antMoveUpIn{0%{-webkit-transform:translateY(-100%);transform:translateY(-100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@-webkit-keyframes antMoveUpOut{0%{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}to{-webkit-transform:translateY(-100%);transform:translateY(-100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}}@keyframes antMoveUpOut{0%{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}to{-webkit-transform:translateY(-100%);transform:translateY(-100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}}@-webkit-keyframes loadingCircle{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loadingCircle{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}[ant-click-animating-without-extra-node=true],[ant-click-animating=true]{position:relative}html{--antd-wave-shadow-color:#22aae3}.ant-click-animating-node,[ant-click-animating-without-extra-node=true]:after{position:absolute;top:0;right:0;bottom:0;left:0;display:block;border-radius:inherit;-webkit-box-shadow:0 0 0 0 #22aae3;box-shadow:0 0 0 0 #22aae3;-webkit-box-shadow:0 0 0 0 var(--antd-wave-shadow-color);box-shadow:0 0 0 0 var(--antd-wave-shadow-color);opacity:.2;-webkit-animation:fadeEffect 2s cubic-bezier(.08,.82,.17,1),waveEffect .4s cubic-bezier(.08,.82,.17,1);animation:fadeEffect 2s cubic-bezier(.08,.82,.17,1),waveEffect .4s cubic-bezier(.08,.82,.17,1);-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;content:"";pointer-events:none}@-webkit-keyframes waveEffect{to{-webkit-box-shadow:0 0 0 #22aae3;box-shadow:0 0 0 #22aae3;-webkit-box-shadow:0 0 0 6px var(--antd-wave-shadow-color);box-shadow:0 0 0 6px var(--antd-wave-shadow-color)}}@keyframes waveEffect{to{-webkit-box-shadow:0 0 0 #22aae3;box-shadow:0 0 0 #22aae3;-webkit-box-shadow:0 0 0 6px var(--antd-wave-shadow-color);box-shadow:0 0 0 6px var(--antd-wave-shadow-color)}}@-webkit-keyframes fadeEffect{to{opacity:0}}@keyframes fadeEffect{to{opacity:0}}.slide-up-appear,.slide-up-enter,.slide-up-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.slide-up-appear.slide-up-appear-active,.slide-up-enter.slide-up-enter-active{-webkit-animation-name:antSlideUpIn;animation-name:antSlideUpIn;-webkit-animation-play-state:running;animation-play-state:running}.slide-up-leave.slide-up-leave-active{-webkit-animation-name:antSlideUpOut;animation-name:antSlideUpOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.slide-up-appear,.slide-up-enter{opacity:0;-webkit-animation-timing-function:cubic-bezier(.23,1,.32,1);animation-timing-function:cubic-bezier(.23,1,.32,1)}.slide-up-leave{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06)}.slide-down-appear,.slide-down-enter,.slide-down-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.slide-down-appear.slide-down-appear-active,.slide-down-enter.slide-down-enter-active{-webkit-animation-name:antSlideDownIn;animation-name:antSlideDownIn;-webkit-animation-play-state:running;animation-play-state:running}.slide-down-leave.slide-down-leave-active{-webkit-animation-name:antSlideDownOut;animation-name:antSlideDownOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.slide-down-appear,.slide-down-enter{opacity:0;-webkit-animation-timing-function:cubic-bezier(.23,1,.32,1);animation-timing-function:cubic-bezier(.23,1,.32,1)}.slide-down-leave{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06)}.slide-left-appear,.slide-left-enter,.slide-left-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.slide-left-appear.slide-left-appear-active,.slide-left-enter.slide-left-enter-active{-webkit-animation-name:antSlideLeftIn;animation-name:antSlideLeftIn;-webkit-animation-play-state:running;animation-play-state:running}.slide-left-leave.slide-left-leave-active{-webkit-animation-name:antSlideLeftOut;animation-name:antSlideLeftOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.slide-left-appear,.slide-left-enter{opacity:0;-webkit-animation-timing-function:cubic-bezier(.23,1,.32,1);animation-timing-function:cubic-bezier(.23,1,.32,1)}.slide-left-leave{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06)}.slide-right-appear,.slide-right-enter,.slide-right-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.slide-right-appear.slide-right-appear-active,.slide-right-enter.slide-right-enter-active{-webkit-animation-name:antSlideRightIn;animation-name:antSlideRightIn;-webkit-animation-play-state:running;animation-play-state:running}.slide-right-leave.slide-right-leave-active{-webkit-animation-name:antSlideRightOut;animation-name:antSlideRightOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.slide-right-appear,.slide-right-enter{opacity:0;-webkit-animation-timing-function:cubic-bezier(.23,1,.32,1);animation-timing-function:cubic-bezier(.23,1,.32,1)}.slide-right-leave{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06)}@-webkit-keyframes antSlideUpIn{0%{-webkit-transform:scaleY(.8);transform:scaleY(.8);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}to{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@keyframes antSlideUpIn{0%{-webkit-transform:scaleY(.8);transform:scaleY(.8);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}to{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@-webkit-keyframes antSlideUpOut{0%{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}to{-webkit-transform:scaleY(.8);transform:scaleY(.8);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}}@keyframes antSlideUpOut{0%{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}to{-webkit-transform:scaleY(.8);transform:scaleY(.8);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}}@-webkit-keyframes antSlideDownIn{0%{-webkit-transform:scaleY(.8);transform:scaleY(.8);-webkit-transform-origin:100% 100%;transform-origin:100% 100%;opacity:0}to{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:100% 100%;transform-origin:100% 100%;opacity:1}}@keyframes antSlideDownIn{0%{-webkit-transform:scaleY(.8);transform:scaleY(.8);-webkit-transform-origin:100% 100%;transform-origin:100% 100%;opacity:0}to{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:100% 100%;transform-origin:100% 100%;opacity:1}}@-webkit-keyframes antSlideDownOut{0%{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:100% 100%;transform-origin:100% 100%;opacity:1}to{-webkit-transform:scaleY(.8);transform:scaleY(.8);-webkit-transform-origin:100% 100%;transform-origin:100% 100%;opacity:0}}@keyframes antSlideDownOut{0%{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:100% 100%;transform-origin:100% 100%;opacity:1}to{-webkit-transform:scaleY(.8);transform:scaleY(.8);-webkit-transform-origin:100% 100%;transform-origin:100% 100%;opacity:0}}@-webkit-keyframes antSlideLeftIn{0%{-webkit-transform:scaleX(.8);transform:scaleX(.8);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}to{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@keyframes antSlideLeftIn{0%{-webkit-transform:scaleX(.8);transform:scaleX(.8);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}to{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@-webkit-keyframes antSlideLeftOut{0%{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}to{-webkit-transform:scaleX(.8);transform:scaleX(.8);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}}@keyframes antSlideLeftOut{0%{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}to{-webkit-transform:scaleX(.8);transform:scaleX(.8);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}}@-webkit-keyframes antSlideRightIn{0%{-webkit-transform:scaleX(.8);transform:scaleX(.8);-webkit-transform-origin:100% 0;transform-origin:100% 0;opacity:0}to{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transform-origin:100% 0;transform-origin:100% 0;opacity:1}}@keyframes antSlideRightIn{0%{-webkit-transform:scaleX(.8);transform:scaleX(.8);-webkit-transform-origin:100% 0;transform-origin:100% 0;opacity:0}to{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transform-origin:100% 0;transform-origin:100% 0;opacity:1}}@-webkit-keyframes antSlideRightOut{0%{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transform-origin:100% 0;transform-origin:100% 0;opacity:1}to{-webkit-transform:scaleX(.8);transform:scaleX(.8);-webkit-transform-origin:100% 0;transform-origin:100% 0;opacity:0}}@keyframes antSlideRightOut{0%{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transform-origin:100% 0;transform-origin:100% 0;opacity:1}to{-webkit-transform:scaleX(.8);transform:scaleX(.8);-webkit-transform-origin:100% 0;transform-origin:100% 0;opacity:0}}.swing-appear,.swing-enter{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.swing-appear.swing-appear-active,.swing-enter.swing-enter-active{-webkit-animation-name:antSwingIn;animation-name:antSwingIn;-webkit-animation-play-state:running;animation-play-state:running}@-webkit-keyframes antSwingIn{0%,to{-webkit-transform:translateX(0);transform:translateX(0)}20%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}40%{-webkit-transform:translateX(10px);transform:translateX(10px)}60%{-webkit-transform:translateX(-5px);transform:translateX(-5px)}80%{-webkit-transform:translateX(5px);transform:translateX(5px)}}@keyframes antSwingIn{0%,to{-webkit-transform:translateX(0);transform:translateX(0)}20%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}40%{-webkit-transform:translateX(10px);transform:translateX(10px)}60%{-webkit-transform:translateX(-5px);transform:translateX(-5px)}80%{-webkit-transform:translateX(5px);transform:translateX(5px)}}.zoom-appear,.zoom-enter,.zoom-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.zoom-appear.zoom-appear-active,.zoom-enter.zoom-enter-active{-webkit-animation-name:antZoomIn;animation-name:antZoomIn;-webkit-animation-play-state:running;animation-play-state:running}.zoom-leave.zoom-leave-active{-webkit-animation-name:antZoomOut;animation-name:antZoomOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.zoom-appear,.zoom-enter{-webkit-transform:scale(0);transform:scale(0);opacity:0;-webkit-animation-timing-function:cubic-bezier(.08,.82,.17,1);animation-timing-function:cubic-bezier(.08,.82,.17,1)}.zoom-leave{-webkit-animation-timing-function:cubic-bezier(.78,.14,.15,.86);animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.zoom-big-appear,.zoom-big-enter,.zoom-big-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.zoom-big-appear.zoom-big-appear-active,.zoom-big-enter.zoom-big-enter-active{-webkit-animation-name:antZoomBigIn;animation-name:antZoomBigIn;-webkit-animation-play-state:running;animation-play-state:running}.zoom-big-leave.zoom-big-leave-active{-webkit-animation-name:antZoomBigOut;animation-name:antZoomBigOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.zoom-big-appear,.zoom-big-enter{-webkit-transform:scale(0);transform:scale(0);opacity:0;-webkit-animation-timing-function:cubic-bezier(.08,.82,.17,1);animation-timing-function:cubic-bezier(.08,.82,.17,1)}.zoom-big-leave{-webkit-animation-timing-function:cubic-bezier(.78,.14,.15,.86);animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.zoom-big-fast-appear,.zoom-big-fast-enter,.zoom-big-fast-leave{-webkit-animation-duration:.1s;animation-duration:.1s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.zoom-big-fast-appear.zoom-big-fast-appear-active,.zoom-big-fast-enter.zoom-big-fast-enter-active{-webkit-animation-name:antZoomBigIn;animation-name:antZoomBigIn;-webkit-animation-play-state:running;animation-play-state:running}.zoom-big-fast-leave.zoom-big-fast-leave-active{-webkit-animation-name:antZoomBigOut;animation-name:antZoomBigOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.zoom-big-fast-appear,.zoom-big-fast-enter{-webkit-transform:scale(0);transform:scale(0);opacity:0;-webkit-animation-timing-function:cubic-bezier(.08,.82,.17,1);animation-timing-function:cubic-bezier(.08,.82,.17,1)}.zoom-big-fast-leave{-webkit-animation-timing-function:cubic-bezier(.78,.14,.15,.86);animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.zoom-up-appear,.zoom-up-enter,.zoom-up-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.zoom-up-appear.zoom-up-appear-active,.zoom-up-enter.zoom-up-enter-active{-webkit-animation-name:antZoomUpIn;animation-name:antZoomUpIn;-webkit-animation-play-state:running;animation-play-state:running}.zoom-up-leave.zoom-up-leave-active{-webkit-animation-name:antZoomUpOut;animation-name:antZoomUpOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.zoom-up-appear,.zoom-up-enter{-webkit-transform:scale(0);transform:scale(0);opacity:0;-webkit-animation-timing-function:cubic-bezier(.08,.82,.17,1);animation-timing-function:cubic-bezier(.08,.82,.17,1)}.zoom-up-leave{-webkit-animation-timing-function:cubic-bezier(.78,.14,.15,.86);animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.zoom-down-appear,.zoom-down-enter,.zoom-down-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.zoom-down-appear.zoom-down-appear-active,.zoom-down-enter.zoom-down-enter-active{-webkit-animation-name:antZoomDownIn;animation-name:antZoomDownIn;-webkit-animation-play-state:running;animation-play-state:running}.zoom-down-leave.zoom-down-leave-active{-webkit-animation-name:antZoomDownOut;animation-name:antZoomDownOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.zoom-down-appear,.zoom-down-enter{-webkit-transform:scale(0);transform:scale(0);opacity:0;-webkit-animation-timing-function:cubic-bezier(.08,.82,.17,1);animation-timing-function:cubic-bezier(.08,.82,.17,1)}.zoom-down-leave{-webkit-animation-timing-function:cubic-bezier(.78,.14,.15,.86);animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.zoom-left-appear,.zoom-left-enter,.zoom-left-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.zoom-left-appear.zoom-left-appear-active,.zoom-left-enter.zoom-left-enter-active{-webkit-animation-name:antZoomLeftIn;animation-name:antZoomLeftIn;-webkit-animation-play-state:running;animation-play-state:running}.zoom-left-leave.zoom-left-leave-active{-webkit-animation-name:antZoomLeftOut;animation-name:antZoomLeftOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.zoom-left-appear,.zoom-left-enter{-webkit-transform:scale(0);transform:scale(0);opacity:0;-webkit-animation-timing-function:cubic-bezier(.08,.82,.17,1);animation-timing-function:cubic-bezier(.08,.82,.17,1)}.zoom-left-leave{-webkit-animation-timing-function:cubic-bezier(.78,.14,.15,.86);animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.zoom-right-appear,.zoom-right-enter,.zoom-right-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.zoom-right-appear.zoom-right-appear-active,.zoom-right-enter.zoom-right-enter-active{-webkit-animation-name:antZoomRightIn;animation-name:antZoomRightIn;-webkit-animation-play-state:running;animation-play-state:running}.zoom-right-leave.zoom-right-leave-active{-webkit-animation-name:antZoomRightOut;animation-name:antZoomRightOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.zoom-right-appear,.zoom-right-enter{-webkit-transform:scale(0);transform:scale(0);opacity:0;-webkit-animation-timing-function:cubic-bezier(.08,.82,.17,1);animation-timing-function:cubic-bezier(.08,.82,.17,1)}.zoom-right-leave{-webkit-animation-timing-function:cubic-bezier(.78,.14,.15,.86);animation-timing-function:cubic-bezier(.78,.14,.15,.86)}@-webkit-keyframes antZoomIn{0%{-webkit-transform:scale(.2);transform:scale(.2);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes antZoomIn{0%{-webkit-transform:scale(.2);transform:scale(.2);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@-webkit-keyframes antZoomOut{0%{-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:scale(.2);transform:scale(.2);opacity:0}}@keyframes antZoomOut{0%{-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:scale(.2);transform:scale(.2);opacity:0}}@-webkit-keyframes antZoomBigIn{0%{-webkit-transform:scale(.8);transform:scale(.8);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes antZoomBigIn{0%{-webkit-transform:scale(.8);transform:scale(.8);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@-webkit-keyframes antZoomBigOut{0%{-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:scale(.8);transform:scale(.8);opacity:0}}@keyframes antZoomBigOut{0%{-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:scale(.8);transform:scale(.8);opacity:0}}@-webkit-keyframes antZoomUpIn{0%{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:50% 0;transform-origin:50% 0;opacity:0}to{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:50% 0;transform-origin:50% 0}}@keyframes antZoomUpIn{0%{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:50% 0;transform-origin:50% 0;opacity:0}to{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:50% 0;transform-origin:50% 0}}@-webkit-keyframes antZoomUpOut{0%{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:50% 0;transform-origin:50% 0}to{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:50% 0;transform-origin:50% 0;opacity:0}}@keyframes antZoomUpOut{0%{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:50% 0;transform-origin:50% 0}to{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:50% 0;transform-origin:50% 0;opacity:0}}@-webkit-keyframes antZoomLeftIn{0%{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:0 50%;transform-origin:0 50%;opacity:0}to{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:0 50%;transform-origin:0 50%}}@keyframes antZoomLeftIn{0%{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:0 50%;transform-origin:0 50%;opacity:0}to{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:0 50%;transform-origin:0 50%}}@-webkit-keyframes antZoomLeftOut{0%{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:0 50%;transform-origin:0 50%}to{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:0 50%;transform-origin:0 50%;opacity:0}}@keyframes antZoomLeftOut{0%{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:0 50%;transform-origin:0 50%}to{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:0 50%;transform-origin:0 50%;opacity:0}}@-webkit-keyframes antZoomRightIn{0%{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:100% 50%;transform-origin:100% 50%;opacity:0}to{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:100% 50%;transform-origin:100% 50%}}@keyframes antZoomRightIn{0%{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:100% 50%;transform-origin:100% 50%;opacity:0}to{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:100% 50%;transform-origin:100% 50%}}@-webkit-keyframes antZoomRightOut{0%{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:100% 50%;transform-origin:100% 50%}to{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:100% 50%;transform-origin:100% 50%;opacity:0}}@keyframes antZoomRightOut{0%{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:100% 50%;transform-origin:100% 50%}to{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:100% 50%;transform-origin:100% 50%;opacity:0}}@-webkit-keyframes antZoomDownIn{0%{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;opacity:0}to{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:50% 100%;transform-origin:50% 100%}}@keyframes antZoomDownIn{0%{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;opacity:0}to{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:50% 100%;transform-origin:50% 100%}}@-webkit-keyframes antZoomDownOut{0%{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:50% 100%;transform-origin:50% 100%}to{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;opacity:0}}@keyframes antZoomDownOut{0%{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:50% 100%;transform-origin:50% 100%}to{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;opacity:0}}.ant-motion-collapse-legacy{overflow:hidden}.ant-motion-collapse,.ant-motion-collapse-legacy-active{-webkit-transition:height .15s cubic-bezier(.645,.045,.355,1),opacity .15s cubic-bezier(.645,.045,.355,1)!important;transition:height .15s cubic-bezier(.645,.045,.355,1),opacity .15s cubic-bezier(.645,.045,.355,1)!important}.ant-motion-collapse{overflow:hidden}#nprogress{pointer-events:none}#nprogress .bar{background:#22aae3;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;-webkit-box-shadow:0 0 10px #22aae3,0 0 5px #22aae3;box-shadow:0 0 10px #22aae3,0 0 5px #22aae3;opacity:1;-webkit-transform:rotate(3deg) translateY(-4px);transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;-webkit-box-sizing:border-box;box-sizing:border-box;border:2px solid transparent;border-top-color:#22aae3;border-left-color:#22aae3;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(1turn)}}@keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}#app,#root,body,html{height:100%}.colorWeak{-webkit-filter:invert(80%);filter:invert(80%)}.ant-layout.layout-basic{height:100vh;min-height:100vh}canvas{display:block}body{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}ol,ul{list-style:none}.table-alert{margin-bottom:16px}.table-operator{margin-bottom:18px}.table-operator button{margin-right:8px}.table-page-search-wrapper .ant-form-inline .ant-form-item{display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:24px;margin-right:0}.table-page-search-wrapper .ant-form-inline .ant-form-item .ant-form-item-control-wrapper{-webkit-box-flex:1;-ms-flex:1 1;flex:1 1;display:inline-block;vertical-align:middle}.table-page-search-wrapper .ant-form-inline .ant-form-item>.ant-form-item-label{line-height:32px;padding-right:8px;width:auto}.table-page-search-wrapper .ant-form-inline .ant-form-item .ant-form-item-control{height:32px;line-height:32px}.table-page-search-wrapper .table-page-search-submitButtons{display:block;margin-bottom:24px;white-space:nowrap}@media (max-width:480px){.ant-table{width:100%;overflow-x:auto}.ant-table-tbody>tr>td,.ant-table-tbody>tr>th,.ant-table-thead>tr>td,.ant-table-thead>tr>th{white-space:pre}.ant-table-tbody>tr>td>span,.ant-table-tbody>tr>th>span,.ant-table-thead>tr>td>span,.ant-table-thead>tr>th>span{display:block}} \ No newline at end of file diff --git a/easy-retry-server/src/main/resources/admin/css/chunk-758b2aa4.1c9c785f.css b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/css/chunk-758b2aa4.1c9c785f.css similarity index 100% rename from easy-retry-server/src/main/resources/admin/css/chunk-758b2aa4.1c9c785f.css rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/css/chunk-758b2aa4.1c9c785f.css diff --git a/easy-retry-server/src/main/resources/admin/css/chunk-ec9b3564.28cc4171.css b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/css/chunk-ec9b3564.28cc4171.css similarity index 100% rename from easy-retry-server/src/main/resources/admin/css/chunk-ec9b3564.28cc4171.css rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/css/chunk-ec9b3564.28cc4171.css diff --git a/easy-retry-server/src/main/resources/admin/css/chunk-ff9025ec.a34448d4.css b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/css/chunk-ff9025ec.a34448d4.css similarity index 100% rename from easy-retry-server/src/main/resources/admin/css/chunk-ff9025ec.a34448d4.css rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/css/chunk-ff9025ec.a34448d4.css diff --git a/easy-retry-server/src/main/resources/admin/css/chunk-vendors.fecaff35.css b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/css/chunk-vendors.fecaff35.css similarity index 100% rename from easy-retry-server/src/main/resources/admin/css/chunk-vendors.fecaff35.css rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/css/chunk-vendors.fecaff35.css diff --git a/easy-retry-server/src/main/resources/admin/css/user.6ccd4506.css b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/css/user.6ccd4506.css similarity index 100% rename from easy-retry-server/src/main/resources/admin/css/user.6ccd4506.css rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/css/user.6ccd4506.css diff --git a/easy-retry-server/src/main/resources/admin/img/logo.af534ed8.png b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/img/logo.af534ed8.png similarity index 100% rename from easy-retry-server/src/main/resources/admin/img/logo.af534ed8.png rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/img/logo.af534ed8.png diff --git a/easy-retry-server/src/main/resources/admin/index.html b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/index.html similarity index 100% rename from easy-retry-server/src/main/resources/admin/index.html rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/index.html diff --git a/easy-retry-server/src/main/resources/admin/js/app.295f12bd.js b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/app.295f12bd.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/app.295f12bd.js rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/app.295f12bd.js diff --git a/easy-retry-server/src/main/resources/admin/js/chunk-251479d0.728e634b.js b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/chunk-251479d0.728e634b.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/chunk-251479d0.728e634b.js rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/chunk-251479d0.728e634b.js diff --git a/easy-retry-server/src/main/resources/admin/js/chunk-2d0a4079.7a476d69.js b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/chunk-2d0a4079.7a476d69.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/chunk-2d0a4079.7a476d69.js rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/chunk-2d0a4079.7a476d69.js diff --git a/easy-retry-server/src/main/resources/admin/js/chunk-2d0b7230.56b5fe26.js b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/chunk-2d0b7230.56b5fe26.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/chunk-2d0b7230.56b5fe26.js rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/chunk-2d0b7230.56b5fe26.js diff --git a/easy-retry-server/src/main/resources/admin/js/chunk-2d0c8f97.d89584ad.js b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/chunk-2d0c8f97.d89584ad.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/chunk-2d0c8f97.d89584ad.js rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/chunk-2d0c8f97.d89584ad.js diff --git a/easy-retry-server/src/main/resources/admin/js/chunk-2d0f085f.a058313b.js b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/chunk-2d0f085f.a058313b.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/chunk-2d0f085f.a058313b.js rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/chunk-2d0f085f.a058313b.js diff --git a/easy-retry-server/src/main/resources/admin/js/chunk-2d21a08f.98f6c23f.js b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/chunk-2d21a08f.98f6c23f.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/chunk-2d21a08f.98f6c23f.js rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/chunk-2d21a08f.98f6c23f.js diff --git a/easy-retry-server/src/main/resources/admin/js/chunk-2d228eef.dd26fc5b.js b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/chunk-2d228eef.dd26fc5b.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/chunk-2d228eef.dd26fc5b.js rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/chunk-2d228eef.dd26fc5b.js diff --git a/easy-retry-server/src/main/resources/admin/js/chunk-35f76107.c572dfc7.js b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/chunk-35f76107.c572dfc7.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/chunk-35f76107.c572dfc7.js rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/chunk-35f76107.c572dfc7.js diff --git a/easy-retry-server/src/main/resources/admin/js/chunk-40597980.0ec09995.js b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/chunk-40597980.0ec09995.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/chunk-40597980.0ec09995.js rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/chunk-40597980.0ec09995.js diff --git a/easy-retry-server/src/main/resources/admin/js/chunk-74bac939.c7253d3b.js b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/chunk-74bac939.c7253d3b.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/chunk-74bac939.c7253d3b.js rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/chunk-74bac939.c7253d3b.js diff --git a/easy-retry-server/src/main/resources/admin/js/chunk-758b2aa4.2544202c.js b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/chunk-758b2aa4.2544202c.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/chunk-758b2aa4.2544202c.js rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/chunk-758b2aa4.2544202c.js diff --git a/easy-retry-server/src/main/resources/admin/js/chunk-ec9b3564.02b5e172.js b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/chunk-ec9b3564.02b5e172.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/chunk-ec9b3564.02b5e172.js rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/chunk-ec9b3564.02b5e172.js diff --git a/easy-retry-server/src/main/resources/admin/js/chunk-ff9025ec.23405bb0.js b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/chunk-ff9025ec.23405bb0.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/chunk-ff9025ec.23405bb0.js rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/chunk-ff9025ec.23405bb0.js diff --git a/easy-retry-server/src/main/resources/admin/js/chunk-vendors.2d5d4160.js b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/chunk-vendors.2d5d4160.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/chunk-vendors.2d5d4160.js rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/chunk-vendors.2d5d4160.js diff --git a/easy-retry-server/src/main/resources/admin/js/fail.a42f4ac2.js b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/fail.a42f4ac2.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/fail.a42f4ac2.js rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/fail.a42f4ac2.js diff --git a/easy-retry-server/src/main/resources/admin/js/lang-zh-CN-account-settings.f8f25eaf.js b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/lang-zh-CN-account-settings.f8f25eaf.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/lang-zh-CN-account-settings.f8f25eaf.js rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/lang-zh-CN-account-settings.f8f25eaf.js diff --git a/easy-retry-server/src/main/resources/admin/js/lang-zh-CN-account.7e2ad2ea.js b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/lang-zh-CN-account.7e2ad2ea.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/lang-zh-CN-account.7e2ad2ea.js rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/lang-zh-CN-account.7e2ad2ea.js diff --git a/easy-retry-server/src/main/resources/admin/js/lang-zh-CN-dashboard-analysis.98c2997a.js b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/lang-zh-CN-dashboard-analysis.98c2997a.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/lang-zh-CN-dashboard-analysis.98c2997a.js rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/lang-zh-CN-dashboard-analysis.98c2997a.js diff --git a/easy-retry-server/src/main/resources/admin/js/lang-zh-CN-dashboard.ea812f6e.js b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/lang-zh-CN-dashboard.ea812f6e.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/lang-zh-CN-dashboard.ea812f6e.js rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/lang-zh-CN-dashboard.ea812f6e.js diff --git a/easy-retry-server/src/main/resources/admin/js/lang-zh-CN-form-basicForm.ff3088ac.js b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/lang-zh-CN-form-basicForm.ff3088ac.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/lang-zh-CN-form-basicForm.ff3088ac.js rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/lang-zh-CN-form-basicForm.ff3088ac.js diff --git a/easy-retry-server/src/main/resources/admin/js/lang-zh-CN-form.5f6efd97.js b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/lang-zh-CN-form.5f6efd97.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/lang-zh-CN-form.5f6efd97.js rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/lang-zh-CN-form.5f6efd97.js diff --git a/easy-retry-server/src/main/resources/admin/js/lang-zh-CN-global.bf0df5c8.js b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/lang-zh-CN-global.bf0df5c8.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/lang-zh-CN-global.bf0df5c8.js rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/lang-zh-CN-global.bf0df5c8.js diff --git a/easy-retry-server/src/main/resources/admin/js/lang-zh-CN-menu.25425a62.js b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/lang-zh-CN-menu.25425a62.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/lang-zh-CN-menu.25425a62.js rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/lang-zh-CN-menu.25425a62.js diff --git a/easy-retry-server/src/main/resources/admin/js/lang-zh-CN-result-fail.232762aa.js b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/lang-zh-CN-result-fail.232762aa.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/lang-zh-CN-result-fail.232762aa.js rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/lang-zh-CN-result-fail.232762aa.js diff --git a/easy-retry-server/src/main/resources/admin/js/lang-zh-CN-result-success.3519c60c.js b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/lang-zh-CN-result-success.3519c60c.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/lang-zh-CN-result-success.3519c60c.js rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/lang-zh-CN-result-success.3519c60c.js diff --git a/easy-retry-server/src/main/resources/admin/js/lang-zh-CN-result.7201a99b.js b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/lang-zh-CN-result.7201a99b.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/lang-zh-CN-result.7201a99b.js rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/lang-zh-CN-result.7201a99b.js diff --git a/easy-retry-server/src/main/resources/admin/js/lang-zh-CN-setting.8c2ce690.js b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/lang-zh-CN-setting.8c2ce690.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/lang-zh-CN-setting.8c2ce690.js rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/lang-zh-CN-setting.8c2ce690.js diff --git a/easy-retry-server/src/main/resources/admin/js/lang-zh-CN-user.81513cba.js b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/lang-zh-CN-user.81513cba.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/lang-zh-CN-user.81513cba.js rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/lang-zh-CN-user.81513cba.js diff --git a/easy-retry-server/src/main/resources/admin/js/lang-zh-CN.72b79d71.js b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/lang-zh-CN.72b79d71.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/lang-zh-CN.72b79d71.js rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/lang-zh-CN.72b79d71.js diff --git a/easy-retry-server/src/main/resources/admin/js/user.badd730b.js b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/user.badd730b.js similarity index 100% rename from easy-retry-server/src/main/resources/admin/js/user.badd730b.js rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/js/user.badd730b.js diff --git a/easy-retry-server/src/main/resources/admin/logo.png b/easy-retry-server/easy-retry-server-starter/src/main/resources/admin/logo.png similarity index 100% rename from easy-retry-server/src/main/resources/admin/logo.png rename to easy-retry-server/easy-retry-server-starter/src/main/resources/admin/logo.png diff --git a/easy-retry-server/src/main/resources/application.yml b/easy-retry-server/easy-retry-server-starter/src/main/resources/application.yml similarity index 100% rename from easy-retry-server/src/main/resources/application.yml rename to easy-retry-server/easy-retry-server-starter/src/main/resources/application.yml diff --git a/easy-retry-server/src/main/resources/logback-boot.xml b/easy-retry-server/easy-retry-server-starter/src/main/resources/logback-boot.xml similarity index 100% rename from easy-retry-server/src/main/resources/logback-boot.xml rename to easy-retry-server/easy-retry-server-starter/src/main/resources/logback-boot.xml diff --git a/easy-retry-server/easy-retry-server-starter/src/main/resources/spring-configuration-metadata.json b/easy-retry-server/easy-retry-server-starter/src/main/resources/spring-configuration-metadata.json new file mode 100644 index 00000000..95dd2bcf --- /dev/null +++ b/easy-retry-server/easy-retry-server-starter/src/main/resources/spring-configuration-metadata.json @@ -0,0 +1,18 @@ +{ + "groups": [ + { + "name": "easy-retry", + "type": "com.aizuda.easy.retry.server.common.config.SystemProperties", + "sourceType": "com.aizuda.easy.retry.server.common.config.SystemProperties" + } + ], + "properties": [ + { + "name": "easy-retry.callback", + "type": "com.aizuda.easy.retry.server.common.config.SystemProperties$Callback", + "defaultValue": "30", + "description": "服务端的地址,若服务端集群部署则此处配置域名", + "sourceType": "com.aizuda.easy.retry.server.common.config.SystemProperties" + } + ] +} diff --git a/easy-retry-server/src/test/java/com/aizuda/easy/retry/server/Abstract.java b/easy-retry-server/easy-retry-server-starter/src/test/java/com/aizuda/easy/retry/server/Abstract.java similarity index 100% rename from easy-retry-server/src/test/java/com/aizuda/easy/retry/server/Abstract.java rename to easy-retry-server/easy-retry-server-starter/src/test/java/com/aizuda/easy/retry/server/Abstract.java diff --git a/easy-retry-server/src/test/java/com/aizuda/easy/retry/server/ConfigVersionSyncHandlerTest.java b/easy-retry-server/easy-retry-server-starter/src/test/java/com/aizuda/easy/retry/server/ConfigVersionSyncHandlerTest.java similarity index 86% rename from easy-retry-server/src/test/java/com/aizuda/easy/retry/server/ConfigVersionSyncHandlerTest.java rename to easy-retry-server/easy-retry-server-starter/src/test/java/com/aizuda/easy/retry/server/ConfigVersionSyncHandlerTest.java index 2f10a075..a03b7ceb 100644 --- a/easy-retry-server/src/test/java/com/aizuda/easy/retry/server/ConfigVersionSyncHandlerTest.java +++ b/easy-retry-server/easy-retry-server-starter/src/test/java/com/aizuda/easy/retry/server/ConfigVersionSyncHandlerTest.java @@ -1,6 +1,6 @@ package com.aizuda.easy.retry.server; -import com.aizuda.easy.retry.server.support.handler.ConfigVersionSyncHandler; +import com.aizuda.easy.retry.server.retry.task.support.handler.ConfigVersionSyncHandler; import lombok.SneakyThrows; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; diff --git a/easy-retry-server/src/test/java/com/aizuda/easy/retry/server/XRetryServerApplicationTests.java b/easy-retry-server/easy-retry-server-starter/src/test/java/com/aizuda/easy/retry/server/XRetryServerApplicationTests.java similarity index 100% rename from easy-retry-server/src/test/java/com/aizuda/easy/retry/server/XRetryServerApplicationTests.java rename to easy-retry-server/easy-retry-server-starter/src/test/java/com/aizuda/easy/retry/server/XRetryServerApplicationTests.java diff --git a/easy-retry-server/src/test/java/com/aizuda/easy/retry/server/mapper/RetryTaskMapperTest.java b/easy-retry-server/easy-retry-server-starter/src/test/java/com/aizuda/easy/retry/server/mapper/RetryTaskMapperTest.java similarity index 100% rename from easy-retry-server/src/test/java/com/aizuda/easy/retry/server/mapper/RetryTaskMapperTest.java rename to easy-retry-server/easy-retry-server-starter/src/test/java/com/aizuda/easy/retry/server/mapper/RetryTaskMapperTest.java diff --git a/easy-retry-server/src/test/java/com/aizuda/easy/retry/server/mapper/SystemConfigGroupMapperTest.java b/easy-retry-server/easy-retry-server-starter/src/test/java/com/aizuda/easy/retry/server/mapper/SystemConfigGroupMapperTest.java similarity index 100% rename from easy-retry-server/src/test/java/com/aizuda/easy/retry/server/mapper/SystemConfigGroupMapperTest.java rename to easy-retry-server/easy-retry-server-starter/src/test/java/com/aizuda/easy/retry/server/mapper/SystemConfigGroupMapperTest.java diff --git a/easy-retry-server/src/test/java/com/aizuda/easy/retry/server/support/generator/id/SegmentIdGeneratorTest.java b/easy-retry-server/easy-retry-server-starter/src/test/java/com/aizuda/easy/retry/server/support/generator/id/SegmentIdGeneratorTest.java similarity index 91% rename from easy-retry-server/src/test/java/com/aizuda/easy/retry/server/support/generator/id/SegmentIdGeneratorTest.java rename to easy-retry-server/easy-retry-server-starter/src/test/java/com/aizuda/easy/retry/server/support/generator/id/SegmentIdGeneratorTest.java index 7df75bdd..108e6c6a 100644 --- a/easy-retry-server/src/test/java/com/aizuda/easy/retry/server/support/generator/id/SegmentIdGeneratorTest.java +++ b/easy-retry-server/easy-retry-server-starter/src/test/java/com/aizuda/easy/retry/server/support/generator/id/SegmentIdGeneratorTest.java @@ -1,10 +1,10 @@ package com.aizuda.easy.retry.server.support.generator.id; import com.aizuda.easy.retry.common.core.log.LogUtils; -import com.aizuda.easy.retry.server.exception.EasyRetryServerException; -import com.aizuda.easy.retry.server.support.generator.IdGenerator; +import com.aizuda.easy.retry.server.common.exception.EasyRetryServerException; +import com.aizuda.easy.retry.server.common.generator.id.IdGenerator; import lombok.extern.slf4j.Slf4j; -import org.junit.jupiter.api.Test; +import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.test.context.SpringBootTest; diff --git a/easy-retry-server/easy-retry-server-web/.gitignore b/easy-retry-server/easy-retry-server-web/.gitignore new file mode 100644 index 00000000..5ff6309b --- /dev/null +++ b/easy-retry-server/easy-retry-server-web/.gitignore @@ -0,0 +1,38 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/easy-retry-server/easy-retry-server-web/pom.xml b/easy-retry-server/easy-retry-server-web/pom.xml new file mode 100644 index 00000000..f35dc580 --- /dev/null +++ b/easy-retry-server/easy-retry-server-web/pom.xml @@ -0,0 +1,94 @@ + + + 4.0.0 + + com.aizuda + easy-retry-server + ${revision} + ../pom.xml + + + easy-retry-server-web + jar + + + 8 + 8 + UTF-8 + 4.4.0 + + + + + org.springframework.boot + spring-boot-starter-web + + + com.aizuda + easy-retry-server-common + + + org.projectlombok + lombok + + + org.springframework.boot + spring-boot-starter-validation + + + com.aizuda + easy-retry-datasource-template + + + com.aizuda + easy-retry-mysql-datasource + + + com.aizuda + easy-retry-postgres-datasource + + + com.aizuda + easy-retry-mariadb-datasource + + + org.mapstruct + mapstruct + + + org.mapstruct + mapstruct-processor + + + com.auth0 + java-jwt + + + com.aizuda + easy-retry-server-retry-task + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + none + execute + + + + + repackage + + + + + + + + diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/annotation/LoginRequired.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/annotation/LoginRequired.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/annotation/LoginRequired.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/annotation/LoginRequired.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/annotation/LoginUser.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/annotation/LoginUser.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/annotation/LoginUser.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/annotation/LoginUser.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/annotation/RoleEnum.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/annotation/RoleEnum.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/annotation/RoleEnum.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/annotation/RoleEnum.java diff --git a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/config/EasyRetryServerWebAutoConfiguration.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/config/EasyRetryServerWebAutoConfiguration.java new file mode 100644 index 00000000..27eeda81 --- /dev/null +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/config/EasyRetryServerWebAutoConfiguration.java @@ -0,0 +1,16 @@ +package com.aizuda.easy.retry.server.web.config; + +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; + +/** + * web访问模块 + * + * @author: www.byteblogs.com + * @date : 2023-09-19 09:21 + */ +@Configuration +@ComponentScan("com.aizuda.easy.retry.server.web.*") +public class EasyRetryServerWebAutoConfiguration { + +} diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/controller/DashBoardController.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/controller/DashBoardController.java similarity index 96% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/controller/DashBoardController.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/controller/DashBoardController.java index 549975e5..13026c96 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/controller/DashBoardController.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/controller/DashBoardController.java @@ -1,7 +1,6 @@ package com.aizuda.easy.retry.server.web.controller; -import com.aizuda.easy.retry.server.service.DashBoardService; -import com.aizuda.easy.retry.server.support.cache.CacheConsumerGroup; +import com.aizuda.easy.retry.server.common.cache.CacheConsumerGroup; import com.aizuda.easy.retry.server.web.model.base.PageResult; import com.aizuda.easy.retry.server.web.model.request.ServerNodeQueryVO; import com.aizuda.easy.retry.server.web.model.response.ActivePodQuantityResponseVO; @@ -10,6 +9,7 @@ import com.aizuda.easy.retry.server.web.model.response.SceneQuantityRankResponse import com.aizuda.easy.retry.server.web.annotation.LoginRequired; import com.aizuda.easy.retry.server.web.model.response.ServerNodeResponseVO; import com.aizuda.easy.retry.server.web.model.response.TaskQuantityResponseVO; +import com.aizuda.easy.retry.server.web.service.DashBoardService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/controller/GroupConfigController.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/controller/GroupConfigController.java similarity index 95% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/controller/GroupConfigController.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/controller/GroupConfigController.java index 87d58ef8..a7d09cbd 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/controller/GroupConfigController.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/controller/GroupConfigController.java @@ -1,13 +1,13 @@ package com.aizuda.easy.retry.server.web.controller; -import com.aizuda.easy.retry.server.config.SystemProperties; -import com.aizuda.easy.retry.server.service.GroupConfigService; +import com.aizuda.easy.retry.server.common.config.SystemProperties; import com.aizuda.easy.retry.server.web.model.base.PageResult; import com.aizuda.easy.retry.server.web.model.request.GroupConfigQueryVO; import com.aizuda.easy.retry.server.web.model.request.GroupConfigRequestVO; import com.aizuda.easy.retry.server.web.model.response.GroupConfigResponseVO; import com.aizuda.easy.retry.server.web.annotation.LoginRequired; import com.aizuda.easy.retry.server.web.annotation.RoleEnum; +import com.aizuda.easy.retry.server.web.service.GroupConfigService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/controller/NotifyConfigController.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/controller/NotifyConfigController.java similarity index 93% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/controller/NotifyConfigController.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/controller/NotifyConfigController.java index 551988b8..100f61e6 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/controller/NotifyConfigController.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/controller/NotifyConfigController.java @@ -1,8 +1,8 @@ package com.aizuda.easy.retry.server.web.controller; -import com.aizuda.easy.retry.server.service.NotifyConfigService; import com.aizuda.easy.retry.server.web.annotation.LoginRequired; import com.aizuda.easy.retry.server.web.model.response.NotifyConfigResponseVO; +import com.aizuda.easy.retry.server.web.service.NotifyConfigService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/controller/RetryDeadLetterController.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/controller/RetryDeadLetterController.java similarity index 96% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/controller/RetryDeadLetterController.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/controller/RetryDeadLetterController.java index 208b8313..025164fe 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/controller/RetryDeadLetterController.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/controller/RetryDeadLetterController.java @@ -1,12 +1,12 @@ package com.aizuda.easy.retry.server.web.controller; -import com.aizuda.easy.retry.server.service.RetryDeadLetterService; import com.aizuda.easy.retry.server.web.model.base.PageResult; import com.aizuda.easy.retry.server.web.model.request.BatchDeleteRetryDeadLetterVO; import com.aizuda.easy.retry.server.web.model.request.BatchRollBackRetryDeadLetterVO; import com.aizuda.easy.retry.server.web.model.request.RetryDeadLetterQueryVO; import com.aizuda.easy.retry.server.web.annotation.LoginRequired; import com.aizuda.easy.retry.server.web.model.response.RetryDeadLetterResponseVO; +import com.aizuda.easy.retry.server.web.service.RetryDeadLetterService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/controller/RetryTaskController.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/controller/RetryTaskController.java similarity index 83% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/controller/RetryTaskController.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/controller/RetryTaskController.java index ac7c6387..ea21a472 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/controller/RetryTaskController.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/controller/RetryTaskController.java @@ -1,11 +1,18 @@ package com.aizuda.easy.retry.server.web.controller; import com.aizuda.easy.retry.common.core.model.Result; -import com.aizuda.easy.retry.server.service.RetryTaskService; import com.aizuda.easy.retry.server.web.annotation.LoginRequired; import com.aizuda.easy.retry.server.web.model.base.PageResult; -import com.aizuda.easy.retry.server.web.model.request.*; +import com.aizuda.easy.retry.server.web.model.request.BatchDeleteRetryTaskVO; +import com.aizuda.easy.retry.server.web.model.request.GenerateRetryIdempotentIdVO; +import com.aizuda.easy.retry.server.web.model.request.ManualTriggerTaskRequestVO; +import com.aizuda.easy.retry.server.web.model.request.ParseLogsVO; +import com.aizuda.easy.retry.server.web.model.request.RetryTaskQueryVO; +import com.aizuda.easy.retry.server.web.model.request.RetryTaskSaveRequestVO; +import com.aizuda.easy.retry.server.web.model.request.RetryTaskUpdateExecutorNameRequestVO; +import com.aizuda.easy.retry.server.web.model.request.RetryTaskUpdateStatusRequestVO; import com.aizuda.easy.retry.server.web.model.response.RetryTaskResponseVO; +import com.aizuda.easy.retry.server.web.service.RetryTaskService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.DeleteMapping; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/controller/RetryTaskLogController.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/controller/RetryTaskLogController.java similarity index 96% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/controller/RetryTaskLogController.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/controller/RetryTaskLogController.java index 2c8312cf..894b10d2 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/controller/RetryTaskLogController.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/controller/RetryTaskLogController.java @@ -1,12 +1,12 @@ package com.aizuda.easy.retry.server.web.controller; -import com.aizuda.easy.retry.server.service.RetryTaskLogService; import com.aizuda.easy.retry.server.web.model.base.PageResult; import com.aizuda.easy.retry.server.web.model.request.RetryTaskLogMessageQueryVO; import com.aizuda.easy.retry.server.web.model.request.RetryTaskLogQueryVO; import com.aizuda.easy.retry.server.web.annotation.LoginRequired; import com.aizuda.easy.retry.server.web.model.response.RetryTaskLogMessageResponseVO; import com.aizuda.easy.retry.server.web.model.response.RetryTaskLogResponseVO; +import com.aizuda.easy.retry.server.web.service.RetryTaskLogService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/controller/SceneConfigSceneController.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/controller/SceneConfigSceneController.java similarity index 95% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/controller/SceneConfigSceneController.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/controller/SceneConfigSceneController.java index bffc8cdc..7ee68050 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/controller/SceneConfigSceneController.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/controller/SceneConfigSceneController.java @@ -1,10 +1,10 @@ package com.aizuda.easy.retry.server.web.controller; -import com.aizuda.easy.retry.server.service.SceneConfigService; import com.aizuda.easy.retry.server.web.model.base.PageResult; import com.aizuda.easy.retry.server.web.model.request.SceneConfigQueryVO; import com.aizuda.easy.retry.server.web.model.response.SceneConfigResponseVO; import com.aizuda.easy.retry.server.web.annotation.LoginRequired; +import com.aizuda.easy.retry.server.web.service.SceneConfigService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/controller/SystemInfoController.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/controller/SystemInfoController.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/controller/SystemInfoController.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/controller/SystemInfoController.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/controller/SystemUserController.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/controller/SystemUserController.java similarity index 97% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/controller/SystemUserController.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/controller/SystemUserController.java index 0714e579..ccb96732 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/controller/SystemUserController.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/controller/SystemUserController.java @@ -1,7 +1,7 @@ package com.aizuda.easy.retry.server.web.controller; +import com.aizuda.easy.retry.server.web.service.SystemUserService; import com.aizuda.easy.retry.template.datasource.persistence.po.SystemUser; -import com.aizuda.easy.retry.server.service.SystemUserService; import com.aizuda.easy.retry.server.web.model.base.PageResult; import com.aizuda.easy.retry.server.web.model.request.SystemUserQueryVO; import com.aizuda.easy.retry.server.web.model.request.SystemUserRequestVO; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/controller/WebController.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/controller/WebController.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/controller/WebController.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/controller/WebController.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/interceptor/AuthenticationInterceptor.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/interceptor/AuthenticationInterceptor.java similarity index 98% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/interceptor/AuthenticationInterceptor.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/interceptor/AuthenticationInterceptor.java index 246effb0..143ed738 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/interceptor/AuthenticationInterceptor.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/interceptor/AuthenticationInterceptor.java @@ -1,6 +1,6 @@ package com.aizuda.easy.retry.server.web.interceptor; -import com.aizuda.easy.retry.server.exception.EasyRetryServerException; +import com.aizuda.easy.retry.server.common.exception.EasyRetryServerException; import com.aizuda.easy.retry.template.datasource.persistence.mapper.SystemUserMapper; import com.aizuda.easy.retry.template.datasource.persistence.po.SystemUser; import com.auth0.jwt.JWT; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/interceptor/CORSInterceptor.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/interceptor/CORSInterceptor.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/interceptor/CORSInterceptor.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/interceptor/CORSInterceptor.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/interceptor/LoginUserMethodArgumentResolver.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/interceptor/LoginUserMethodArgumentResolver.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/interceptor/LoginUserMethodArgumentResolver.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/interceptor/LoginUserMethodArgumentResolver.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/interceptor/XRetryWebMvcConfigurerAdapter.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/interceptor/XRetryWebMvcConfigurerAdapter.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/interceptor/XRetryWebMvcConfigurerAdapter.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/interceptor/XRetryWebMvcConfigurerAdapter.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/base/BaseQueryVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/base/BaseQueryVO.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/base/BaseQueryVO.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/base/BaseQueryVO.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/base/PageResult.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/base/PageResult.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/base/PageResult.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/base/PageResult.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/enums/DateTypeEnum.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/enums/DateTypeEnum.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/enums/DateTypeEnum.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/enums/DateTypeEnum.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/request/BatchDeleteRetryDeadLetterVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/BatchDeleteRetryDeadLetterVO.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/request/BatchDeleteRetryDeadLetterVO.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/BatchDeleteRetryDeadLetterVO.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/request/BatchDeleteRetryTaskVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/BatchDeleteRetryTaskVO.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/request/BatchDeleteRetryTaskVO.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/BatchDeleteRetryTaskVO.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/request/BatchRollBackRetryDeadLetterVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/BatchRollBackRetryDeadLetterVO.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/request/BatchRollBackRetryDeadLetterVO.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/BatchRollBackRetryDeadLetterVO.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/request/GenerateRetryIdempotentIdVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/GenerateRetryIdempotentIdVO.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/request/GenerateRetryIdempotentIdVO.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/GenerateRetryIdempotentIdVO.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/request/GroupConfigQueryVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/GroupConfigQueryVO.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/request/GroupConfigQueryVO.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/GroupConfigQueryVO.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/request/GroupConfigRequestVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/GroupConfigRequestVO.java similarity index 97% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/request/GroupConfigRequestVO.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/GroupConfigRequestVO.java index 842bcefd..22eed9da 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/request/GroupConfigRequestVO.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/GroupConfigRequestVO.java @@ -1,7 +1,7 @@ package com.aizuda.easy.retry.server.web.model.request; import com.aizuda.easy.retry.common.core.constant.SystemConstants; -import com.aizuda.easy.retry.server.enums.IdGeneratorMode; +import com.aizuda.easy.retry.server.common.enums.IdGeneratorMode; import lombok.Data; import jakarta.validation.constraints.*; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/request/ManualTriggerTaskRequestVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/ManualTriggerTaskRequestVO.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/request/ManualTriggerTaskRequestVO.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/ManualTriggerTaskRequestVO.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/request/ParseLogsVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/ParseLogsVO.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/request/ParseLogsVO.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/ParseLogsVO.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/request/RetryDeadLetterQueryVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/RetryDeadLetterQueryVO.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/request/RetryDeadLetterQueryVO.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/RetryDeadLetterQueryVO.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/request/RetryTaskLogMessageQueryVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/RetryTaskLogMessageQueryVO.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/request/RetryTaskLogMessageQueryVO.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/RetryTaskLogMessageQueryVO.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/request/RetryTaskLogQueryVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/RetryTaskLogQueryVO.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/request/RetryTaskLogQueryVO.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/RetryTaskLogQueryVO.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/request/RetryTaskQueryVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/RetryTaskQueryVO.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/request/RetryTaskQueryVO.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/RetryTaskQueryVO.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/request/RetryTaskSaveRequestVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/RetryTaskSaveRequestVO.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/request/RetryTaskSaveRequestVO.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/RetryTaskSaveRequestVO.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/request/RetryTaskUpdateExecutorNameRequestVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/RetryTaskUpdateExecutorNameRequestVO.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/request/RetryTaskUpdateExecutorNameRequestVO.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/RetryTaskUpdateExecutorNameRequestVO.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/request/RetryTaskUpdateStatusRequestVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/RetryTaskUpdateStatusRequestVO.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/request/RetryTaskUpdateStatusRequestVO.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/RetryTaskUpdateStatusRequestVO.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/request/SceneConfigQueryVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/SceneConfigQueryVO.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/request/SceneConfigQueryVO.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/SceneConfigQueryVO.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/request/ServerNodeQueryVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/ServerNodeQueryVO.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/request/ServerNodeQueryVO.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/ServerNodeQueryVO.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/request/SystemUserQueryVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/SystemUserQueryVO.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/request/SystemUserQueryVO.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/SystemUserQueryVO.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/request/SystemUserRequestVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/SystemUserRequestVO.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/request/SystemUserRequestVO.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/SystemUserRequestVO.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/response/ActivePodQuantityResponseVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/response/ActivePodQuantityResponseVO.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/response/ActivePodQuantityResponseVO.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/response/ActivePodQuantityResponseVO.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/response/DispatchQuantityResponseVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/response/DispatchQuantityResponseVO.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/response/DispatchQuantityResponseVO.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/response/DispatchQuantityResponseVO.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/response/GroupConfigResponseVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/response/GroupConfigResponseVO.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/response/GroupConfigResponseVO.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/response/GroupConfigResponseVO.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/response/NotifyConfigResponseVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/response/NotifyConfigResponseVO.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/response/NotifyConfigResponseVO.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/response/NotifyConfigResponseVO.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/response/RetryDeadLetterResponseVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/response/RetryDeadLetterResponseVO.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/response/RetryDeadLetterResponseVO.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/response/RetryDeadLetterResponseVO.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/response/RetryTaskLogMessageResponseVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/response/RetryTaskLogMessageResponseVO.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/response/RetryTaskLogMessageResponseVO.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/response/RetryTaskLogMessageResponseVO.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/response/RetryTaskLogResponseVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/response/RetryTaskLogResponseVO.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/response/RetryTaskLogResponseVO.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/response/RetryTaskLogResponseVO.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/response/RetryTaskResponseVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/response/RetryTaskResponseVO.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/response/RetryTaskResponseVO.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/response/RetryTaskResponseVO.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/response/SceneConfigResponseVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/response/SceneConfigResponseVO.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/response/SceneConfigResponseVO.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/response/SceneConfigResponseVO.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/response/SceneQuantityRankResponseVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/response/SceneQuantityRankResponseVO.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/response/SceneQuantityRankResponseVO.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/response/SceneQuantityRankResponseVO.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/response/ServerNodeResponseVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/response/ServerNodeResponseVO.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/response/ServerNodeResponseVO.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/response/ServerNodeResponseVO.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/response/SystemUserResponseVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/response/SystemUserResponseVO.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/response/SystemUserResponseVO.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/response/SystemUserResponseVO.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/response/TaskQuantityResponseVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/response/TaskQuantityResponseVO.java similarity index 100% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/web/model/response/TaskQuantityResponseVO.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/response/TaskQuantityResponseVO.java diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/DashBoardService.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/DashBoardService.java similarity index 95% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/DashBoardService.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/DashBoardService.java index 2cf01b3f..32b74562 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/DashBoardService.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/DashBoardService.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.service; +package com.aizuda.easy.retry.server.web.service; import com.aizuda.easy.retry.server.web.model.base.PageResult; import com.aizuda.easy.retry.server.web.model.request.ServerNodeQueryVO; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/GroupConfigService.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/GroupConfigService.java similarity index 94% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/GroupConfigService.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/GroupConfigService.java index ad75210c..1c4b8ca2 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/GroupConfigService.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/GroupConfigService.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.service; +package com.aizuda.easy.retry.server.web.service; import com.aizuda.easy.retry.server.web.model.base.PageResult; import com.aizuda.easy.retry.server.web.model.request.GroupConfigQueryVO; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/NotifyConfigService.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/NotifyConfigService.java similarity index 85% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/NotifyConfigService.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/NotifyConfigService.java index 86b7c9de..6f9cd187 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/NotifyConfigService.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/NotifyConfigService.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.service; +package com.aizuda.easy.retry.server.web.service; import com.aizuda.easy.retry.server.web.model.response.NotifyConfigResponseVO; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/RetryDeadLetterService.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/RetryDeadLetterService.java similarity index 94% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/RetryDeadLetterService.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/RetryDeadLetterService.java index 801d01a8..9e14bc26 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/RetryDeadLetterService.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/RetryDeadLetterService.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.service; +package com.aizuda.easy.retry.server.web.service; import com.aizuda.easy.retry.server.web.model.base.PageResult; import com.aizuda.easy.retry.server.web.model.request.BatchDeleteRetryDeadLetterVO; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/RetryTaskLogService.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/RetryTaskLogService.java similarity index 94% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/RetryTaskLogService.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/RetryTaskLogService.java index 5986c088..61b13c1c 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/RetryTaskLogService.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/RetryTaskLogService.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.service; +package com.aizuda.easy.retry.server.web.service; import com.aizuda.easy.retry.server.web.model.base.PageResult; import com.aizuda.easy.retry.server.web.model.request.RetryTaskLogMessageQueryVO; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/RetryTaskService.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/RetryTaskService.java similarity index 77% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/RetryTaskService.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/RetryTaskService.java index c7feaa09..de496caf 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/RetryTaskService.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/RetryTaskService.java @@ -1,7 +1,14 @@ -package com.aizuda.easy.retry.server.service; +package com.aizuda.easy.retry.server.web.service; import com.aizuda.easy.retry.server.web.model.base.PageResult; -import com.aizuda.easy.retry.server.web.model.request.*; +import com.aizuda.easy.retry.server.web.model.request.BatchDeleteRetryTaskVO; +import com.aizuda.easy.retry.server.web.model.request.GenerateRetryIdempotentIdVO; +import com.aizuda.easy.retry.server.web.model.request.ManualTriggerTaskRequestVO; +import com.aizuda.easy.retry.server.web.model.request.ParseLogsVO; +import com.aizuda.easy.retry.server.web.model.request.RetryTaskQueryVO; +import com.aizuda.easy.retry.server.web.model.request.RetryTaskSaveRequestVO; +import com.aizuda.easy.retry.server.web.model.request.RetryTaskUpdateExecutorNameRequestVO; +import com.aizuda.easy.retry.server.web.model.request.RetryTaskUpdateStatusRequestVO; import com.aizuda.easy.retry.server.web.model.response.RetryTaskResponseVO; import java.util.List; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/SceneConfigService.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/SceneConfigService.java similarity index 91% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/SceneConfigService.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/SceneConfigService.java index f1a76242..5b1bc2ec 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/SceneConfigService.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/SceneConfigService.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.service; +package com.aizuda.easy.retry.server.web.service; import com.aizuda.easy.retry.server.web.model.base.PageResult; import com.aizuda.easy.retry.server.web.model.request.SceneConfigQueryVO; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/SystemUserService.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/SystemUserService.java similarity index 95% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/SystemUserService.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/SystemUserService.java index c128dce5..81557090 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/SystemUserService.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/SystemUserService.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.service; +package com.aizuda.easy.retry.server.web.service; import com.aizuda.easy.retry.template.datasource.persistence.po.SystemUser; import com.aizuda.easy.retry.server.web.model.base.PageResult; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/DispatchQuantityResponseVOConverter.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/DispatchQuantityResponseVOConverter.java similarity index 91% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/DispatchQuantityResponseVOConverter.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/DispatchQuantityResponseVOConverter.java index 49e18f6f..aafec2aa 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/DispatchQuantityResponseVOConverter.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/DispatchQuantityResponseVOConverter.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.service.convert; +package com.aizuda.easy.retry.server.web.service.convert; import com.aizuda.easy.retry.server.web.model.response.DispatchQuantityResponseVO; import com.aizuda.easy.retry.template.datasource.persistence.dataobject.DispatchQuantityResponseDO; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/GroupConfigConverter.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/GroupConfigConverter.java similarity index 91% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/GroupConfigConverter.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/GroupConfigConverter.java index fedc59e5..4dbbdb9d 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/GroupConfigConverter.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/GroupConfigConverter.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.service.convert; +package com.aizuda.easy.retry.server.web.service.convert; import com.aizuda.easy.retry.template.datasource.persistence.po.GroupConfig; import com.aizuda.easy.retry.server.web.model.request.GroupConfigRequestVO; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/GroupConfigResponseVOConverter.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/GroupConfigResponseVOConverter.java similarity index 91% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/GroupConfigResponseVOConverter.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/GroupConfigResponseVOConverter.java index 77122bee..995d83f5 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/GroupConfigResponseVOConverter.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/GroupConfigResponseVOConverter.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.service.convert; +package com.aizuda.easy.retry.server.web.service.convert; import com.aizuda.easy.retry.template.datasource.persistence.po.GroupConfig; import com.aizuda.easy.retry.server.web.model.response.GroupConfigResponseVO; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/NotifyConfigConverter.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/NotifyConfigConverter.java similarity index 91% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/NotifyConfigConverter.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/NotifyConfigConverter.java index 2bf463fe..842764d5 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/NotifyConfigConverter.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/NotifyConfigConverter.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.service.convert; +package com.aizuda.easy.retry.server.web.service.convert; import com.aizuda.easy.retry.template.datasource.persistence.po.NotifyConfig; import com.aizuda.easy.retry.server.web.model.request.GroupConfigRequestVO; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/NotifyConfigResponseVOConverter.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/NotifyConfigResponseVOConverter.java similarity index 91% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/NotifyConfigResponseVOConverter.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/NotifyConfigResponseVOConverter.java index 366c146c..57c69e6b 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/NotifyConfigResponseVOConverter.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/NotifyConfigResponseVOConverter.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.service.convert; +package com.aizuda.easy.retry.server.web.service.convert; import com.aizuda.easy.retry.template.datasource.persistence.po.NotifyConfig; import com.aizuda.easy.retry.server.web.model.response.NotifyConfigResponseVO; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/RetryDeadLetterResponseVOConverter.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/RetryDeadLetterResponseVOConverter.java similarity index 91% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/RetryDeadLetterResponseVOConverter.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/RetryDeadLetterResponseVOConverter.java index ddbdd39a..785f5a10 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/RetryDeadLetterResponseVOConverter.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/RetryDeadLetterResponseVOConverter.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.service.convert; +package com.aizuda.easy.retry.server.web.service.convert; import com.aizuda.easy.retry.template.datasource.persistence.po.RetryDeadLetter; import com.aizuda.easy.retry.server.web.model.response.RetryDeadLetterResponseVO; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/RetryTaskLogResponseVOConverter.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/RetryTaskLogResponseVOConverter.java similarity index 94% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/RetryTaskLogResponseVOConverter.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/RetryTaskLogResponseVOConverter.java index 5b495fbe..c85e7bf2 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/RetryTaskLogResponseVOConverter.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/RetryTaskLogResponseVOConverter.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.service.convert; +package com.aizuda.easy.retry.server.web.service.convert; import com.aizuda.easy.retry.template.datasource.persistence.po.RetryTaskLog; import com.aizuda.easy.retry.template.datasource.persistence.po.RetryTaskLogMessage; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/RetryTaskResponseVOConverter.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/RetryTaskResponseVOConverter.java similarity index 91% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/RetryTaskResponseVOConverter.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/RetryTaskResponseVOConverter.java index bb85ed9e..4f7a3cbc 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/RetryTaskResponseVOConverter.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/RetryTaskResponseVOConverter.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.service.convert; +package com.aizuda.easy.retry.server.web.service.convert; import com.aizuda.easy.retry.template.datasource.persistence.po.RetryTask; import com.aizuda.easy.retry.server.web.model.response.RetryTaskResponseVO; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/SceneConfigConverter.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/SceneConfigConverter.java similarity index 91% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/SceneConfigConverter.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/SceneConfigConverter.java index 80778d76..48852a7f 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/SceneConfigConverter.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/SceneConfigConverter.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.service.convert; +package com.aizuda.easy.retry.server.web.service.convert; import com.aizuda.easy.retry.template.datasource.persistence.po.SceneConfig; import com.aizuda.easy.retry.server.web.model.request.GroupConfigRequestVO; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/SceneConfigResponseVOConverter.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/SceneConfigResponseVOConverter.java similarity index 91% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/SceneConfigResponseVOConverter.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/SceneConfigResponseVOConverter.java index d8f8ff76..f04ea75f 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/SceneConfigResponseVOConverter.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/SceneConfigResponseVOConverter.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.service.convert; +package com.aizuda.easy.retry.server.web.service.convert; import com.aizuda.easy.retry.template.datasource.persistence.po.SceneConfig; import com.aizuda.easy.retry.server.web.model.response.SceneConfigResponseVO; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/SceneQuantityRankResponseVOConverter.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/SceneQuantityRankResponseVOConverter.java similarity index 81% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/SceneQuantityRankResponseVOConverter.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/SceneQuantityRankResponseVOConverter.java index d8c8d914..8c30bc3d 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/SceneQuantityRankResponseVOConverter.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/SceneQuantityRankResponseVOConverter.java @@ -1,7 +1,6 @@ -package com.aizuda.easy.retry.server.service.convert; +package com.aizuda.easy.retry.server.web.service.convert; import com.aizuda.easy.retry.server.web.model.response.SceneQuantityRankResponseVO; -import com.aizuda.easy.retry.template.datasource.persistence.dataobject.DispatchQuantityResponseDO; import com.aizuda.easy.retry.template.datasource.persistence.dataobject.SceneQuantityRankResponseDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/ServerNodeResponseVOConverter.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/ServerNodeResponseVOConverter.java similarity index 83% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/ServerNodeResponseVOConverter.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/ServerNodeResponseVOConverter.java index dceb6756..c3211ce9 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/ServerNodeResponseVOConverter.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/ServerNodeResponseVOConverter.java @@ -1,10 +1,8 @@ -package com.aizuda.easy.retry.server.service.convert; +package com.aizuda.easy.retry.server.web.service.convert; import com.aizuda.easy.retry.template.datasource.persistence.po.ServerNode; import com.aizuda.easy.retry.server.web.model.response.ServerNodeResponseVO; import org.mapstruct.Mapper; -import org.mapstruct.Mapping; -import org.mapstruct.Mappings; import org.mapstruct.factory.Mappers; import java.util.List; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/SystemUserResponseVOConverter.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/SystemUserResponseVOConverter.java similarity index 91% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/SystemUserResponseVOConverter.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/SystemUserResponseVOConverter.java index 590ebb5d..8d372e10 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/SystemUserResponseVOConverter.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/SystemUserResponseVOConverter.java @@ -1,4 +1,4 @@ -package com.aizuda.easy.retry.server.service.convert; +package com.aizuda.easy.retry.server.web.service.convert; import com.aizuda.easy.retry.template.datasource.persistence.po.SystemUser; import com.aizuda.easy.retry.server.web.model.response.SystemUserResponseVO; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/TaskContextConverter.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/TaskContextConverter.java similarity index 82% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/TaskContextConverter.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/TaskContextConverter.java index 1d066082..88726a40 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/convert/TaskContextConverter.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/TaskContextConverter.java @@ -1,7 +1,7 @@ -package com.aizuda.easy.retry.server.service.convert; +package com.aizuda.easy.retry.server.web.service.convert; import com.aizuda.easy.retry.server.model.dto.RetryTaskDTO; -import com.aizuda.easy.retry.server.support.generator.task.TaskContext; +import com.aizuda.easy.retry.server.retry.task.generator.task.TaskContext; import com.aizuda.easy.retry.server.web.model.request.RetryTaskSaveRequestVO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/impl/DashBoardServiceImpl.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/DashBoardServiceImpl.java similarity index 92% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/impl/DashBoardServiceImpl.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/DashBoardServiceImpl.java index ffc1f698..92b8d064 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/impl/DashBoardServiceImpl.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/DashBoardServiceImpl.java @@ -1,25 +1,14 @@ -package com.aizuda.easy.retry.server.service.impl; +package com.aizuda.easy.retry.server.web.service.impl; -import com.aizuda.easy.retry.common.core.enums.NodeTypeEnum; -import com.aizuda.easy.retry.common.core.enums.RetryStatusEnum; +import cn.hutool.core.util.StrUtil; 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.util.JsonUtil; -import com.aizuda.easy.retry.server.dto.ServerNodeExtAttrs; -import com.aizuda.easy.retry.server.service.DashBoardService; -import com.aizuda.easy.retry.server.service.convert.DispatchQuantityResponseVOConverter; -import com.aizuda.easy.retry.server.service.convert.SceneQuantityRankResponseVOConverter; -import com.aizuda.easy.retry.server.service.convert.ServerNodeResponseVOConverter; -import com.aizuda.easy.retry.server.support.cache.CacheConsumerGroup; -import com.aizuda.easy.retry.server.support.register.ServerRegister; -import com.aizuda.easy.retry.server.web.model.base.PageResult; -import com.aizuda.easy.retry.server.web.model.enums.DateTypeEnum; -import com.aizuda.easy.retry.server.web.model.request.ServerNodeQueryVO; -import com.aizuda.easy.retry.server.web.model.response.ActivePodQuantityResponseVO; -import com.aizuda.easy.retry.server.web.model.response.DispatchQuantityResponseVO; -import com.aizuda.easy.retry.server.web.model.response.SceneQuantityRankResponseVO; -import com.aizuda.easy.retry.server.web.model.response.ServerNodeResponseVO; -import com.aizuda.easy.retry.server.web.model.response.TaskQuantityResponseVO; +import com.aizuda.easy.retry.server.common.cache.CacheConsumerGroup; +import com.aizuda.easy.retry.server.common.dto.ServerNodeExtAttrs; +import com.aizuda.easy.retry.server.common.register.ServerRegister; +import com.aizuda.easy.retry.server.web.service.convert.DispatchQuantityResponseVOConverter; +import com.aizuda.easy.retry.server.web.service.convert.SceneQuantityRankResponseVOConverter; import com.aizuda.easy.retry.template.datasource.persistence.dataobject.DispatchQuantityResponseDO; import com.aizuda.easy.retry.template.datasource.persistence.dataobject.SceneQuantityRankResponseDO; import com.aizuda.easy.retry.template.datasource.persistence.mapper.RetryTaskLogMapper; @@ -27,11 +16,23 @@ import com.aizuda.easy.retry.template.datasource.persistence.mapper.RetryTaskLog import com.aizuda.easy.retry.template.datasource.persistence.mapper.ServerNodeMapper; import com.aizuda.easy.retry.template.datasource.persistence.po.RetryTaskLog; import com.aizuda.easy.retry.template.datasource.persistence.po.ServerNode; +import com.aizuda.easy.retry.server.web.service.convert.ServerNodeResponseVOConverter; +import com.aizuda.easy.retry.server.web.model.base.PageResult; +import com.aizuda.easy.retry.server.web.model.request.ServerNodeQueryVO; +import com.aizuda.easy.retry.server.web.model.response.ServerNodeResponseVO; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.aizuda.easy.retry.common.core.enums.NodeTypeEnum; +import com.aizuda.easy.retry.common.core.enums.RetryStatusEnum; +import com.aizuda.easy.retry.server.web.service.DashBoardService; +import com.aizuda.easy.retry.server.web.model.enums.DateTypeEnum; +import com.aizuda.easy.retry.server.web.model.response.ActivePodQuantityResponseVO; +import com.aizuda.easy.retry.server.web.model.response.DispatchQuantityResponseVO; +import com.aizuda.easy.retry.server.web.model.response.SceneQuantityRankResponseVO; +import com.aizuda.easy.retry.server.web.model.response.TaskQuantityResponseVO; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; import com.google.common.collect.Sets; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -119,12 +120,12 @@ public class DashBoardServiceImpl implements DashBoardService { @Override public List rankSceneQuantity(String groupName, String type, String startTime, String endTime) { LocalDateTime startDateTime = LocalDateTime.now(); - if (StringUtils.isNotBlank(startTime)) { + if (StrUtil.isNotBlank(startTime)) { startDateTime = LocalDateTime.of(LocalDate.parse(startTime, DateTimeFormatter.ofPattern("yyyy-MM-dd")), LocalTime.MIN); } LocalDateTime endDateTime = LocalDateTime.now(); - if (StringUtils.isNotBlank(endTime)) { + if (StrUtil.isNotBlank(endTime)) { endDateTime = LocalDateTime.of(LocalDate.parse(endTime, DateTimeFormatter.ofPattern("yyyy-MM-dd")), LocalTime.MAX); } @@ -142,12 +143,12 @@ public class DashBoardServiceImpl implements DashBoardService { DateTypeEnum dateTypeEnum = DateTypeEnum.valueOf(type.toUpperCase()); LocalDateTime startDateTime = LocalDateTime.now(); - if (StringUtils.isNotBlank(startTime)) { + if (StrUtil.isNotBlank(startTime)) { startDateTime = LocalDateTime.of(LocalDate.parse(startTime, DateTimeFormatter.ofPattern("yyyy-MM-dd")), LocalTime.MIN); } LocalDateTime endDateTime = LocalDateTime.now(); - if (StringUtils.isNotBlank(endTime)) { + if (StrUtil.isNotBlank(endTime)) { endDateTime = LocalDateTime.of(LocalDate.parse(endTime, DateTimeFormatter.ofPattern("yyyy-MM-dd")), LocalTime.MAX); } @@ -183,7 +184,7 @@ public class DashBoardServiceImpl implements DashBoardService { PageDTO pageDTO = new PageDTO<>(queryVO.getPage(), queryVO.getSize()); LambdaQueryWrapper serverNodeLambdaQueryWrapper = new LambdaQueryWrapper<>(); - if (StringUtils.isNotBlank(queryVO.getGroupName())) { + if (StrUtil.isNotBlank(queryVO.getGroupName())) { serverNodeLambdaQueryWrapper.eq(ServerNode::getGroupName, queryVO.getGroupName()); } diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/impl/GroupConfigServiceImpl.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/GroupConfigServiceImpl.java similarity index 95% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/impl/GroupConfigServiceImpl.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/GroupConfigServiceImpl.java index c18d0595..ee48c51c 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/impl/GroupConfigServiceImpl.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/GroupConfigServiceImpl.java @@ -1,16 +1,17 @@ -package com.aizuda.easy.retry.server.service.impl; +package com.aizuda.easy.retry.server.web.service.impl; import cn.hutool.core.lang.Assert; import cn.hutool.core.util.HashUtil; +import cn.hutool.core.util.StrUtil; import com.aizuda.easy.retry.common.core.util.JsonUtil; -import com.aizuda.easy.retry.server.enums.IdGeneratorMode; -import com.aizuda.easy.retry.server.exception.EasyRetryServerException; -import com.aizuda.easy.retry.server.service.GroupConfigService; -import com.aizuda.easy.retry.server.service.convert.GroupConfigConverter; -import com.aizuda.easy.retry.server.service.convert.GroupConfigResponseVOConverter; -import com.aizuda.easy.retry.server.service.convert.NotifyConfigConverter; -import com.aizuda.easy.retry.server.service.convert.SceneConfigConverter; -import com.aizuda.easy.retry.server.support.handler.ConfigVersionSyncHandler; +import com.aizuda.easy.retry.server.common.enums.IdGeneratorMode; +import com.aizuda.easy.retry.server.common.exception.EasyRetryServerException; +import com.aizuda.easy.retry.server.retry.task.support.handler.ConfigVersionSyncHandler; +import com.aizuda.easy.retry.server.web.service.GroupConfigService; +import com.aizuda.easy.retry.server.web.service.convert.GroupConfigConverter; +import com.aizuda.easy.retry.server.web.service.convert.GroupConfigResponseVOConverter; +import com.aizuda.easy.retry.server.web.service.convert.NotifyConfigConverter; +import com.aizuda.easy.retry.server.web.service.convert.SceneConfigConverter; import com.aizuda.easy.retry.server.web.model.base.PageResult; import com.aizuda.easy.retry.server.web.model.request.GroupConfigQueryVO; import com.aizuda.easy.retry.server.web.model.request.GroupConfigRequestVO; @@ -23,7 +24,6 @@ import com.aizuda.easy.retry.template.datasource.persistence.po.*; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; -import org.apache.commons.lang.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -147,7 +147,7 @@ public class GroupConfigServiceImpl implements GroupConfigService { public PageResult> getGroupConfigForPage(GroupConfigQueryVO queryVO) { LambdaQueryWrapper groupConfigLambdaQueryWrapper = new LambdaQueryWrapper<>(); - if (StringUtils.isNotBlank(queryVO.getGroupName())) { + if (StrUtil.isNotBlank(queryVO.getGroupName())) { groupConfigLambdaQueryWrapper.like(GroupConfig::getGroupName, queryVO.getGroupName()); } diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/impl/NotifyConfigServiceImpl.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/NotifyConfigServiceImpl.java similarity index 82% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/impl/NotifyConfigServiceImpl.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/NotifyConfigServiceImpl.java index d0957db2..4b08fb53 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/impl/NotifyConfigServiceImpl.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/NotifyConfigServiceImpl.java @@ -1,10 +1,10 @@ -package com.aizuda.easy.retry.server.service.impl; +package com.aizuda.easy.retry.server.web.service.impl; import com.aizuda.easy.retry.template.datasource.persistence.mapper.NotifyConfigMapper; import com.aizuda.easy.retry.template.datasource.persistence.po.NotifyConfig; -import com.aizuda.easy.retry.server.service.NotifyConfigService; +import com.aizuda.easy.retry.server.web.service.NotifyConfigService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.aizuda.easy.retry.server.service.convert.NotifyConfigResponseVOConverter; +import com.aizuda.easy.retry.server.web.service.convert.NotifyConfigResponseVOConverter; import com.aizuda.easy.retry.server.web.model.response.NotifyConfigResponseVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/impl/RetryDeadLetterServiceImpl.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/RetryDeadLetterServiceImpl.java similarity index 89% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/impl/RetryDeadLetterServiceImpl.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/RetryDeadLetterServiceImpl.java index 34d6dbd3..98134f84 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/impl/RetryDeadLetterServiceImpl.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/RetryDeadLetterServiceImpl.java @@ -1,13 +1,15 @@ -package com.aizuda.easy.retry.server.service.impl; +package com.aizuda.easy.retry.server.web.service.impl; import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.StrUtil; import com.aizuda.easy.retry.common.core.enums.RetryStatusEnum; -import com.aizuda.easy.retry.server.enums.TaskTypeEnum; -import com.aizuda.easy.retry.server.exception.EasyRetryServerException; -import com.aizuda.easy.retry.server.service.RetryDeadLetterService; -import com.aizuda.easy.retry.server.service.convert.RetryDeadLetterResponseVOConverter; -import com.aizuda.easy.retry.server.service.convert.RetryTaskConverter; -import com.aizuda.easy.retry.server.support.strategy.WaitStrategies; + +import com.aizuda.easy.retry.server.common.enums.TaskTypeEnum; +import com.aizuda.easy.retry.server.common.exception.EasyRetryServerException; +import com.aizuda.easy.retry.server.retry.task.support.strategy.WaitStrategies; +import com.aizuda.easy.retry.server.web.service.RetryDeadLetterService; +import com.aizuda.easy.retry.server.web.service.convert.RetryDeadLetterResponseVOConverter; +import com.aizuda.easy.retry.server.retry.task.support.RetryTaskConverter; import com.aizuda.easy.retry.server.web.model.base.PageResult; import com.aizuda.easy.retry.server.web.model.request.BatchDeleteRetryDeadLetterVO; import com.aizuda.easy.retry.server.web.model.request.BatchRollBackRetryDeadLetterVO; @@ -22,7 +24,6 @@ import com.aizuda.easy.retry.template.datasource.persistence.po.RetryTaskLog; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; -import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -51,26 +52,26 @@ public class RetryDeadLetterServiceImpl implements RetryDeadLetterService { PageDTO pageDTO = new PageDTO<>(queryVO.getPage(), queryVO.getSize()); - if (StringUtils.isBlank(queryVO.getGroupName())) { + if (StrUtil.isBlank(queryVO.getGroupName())) { return new PageResult<>(pageDTO, new ArrayList<>()); } LambdaQueryWrapper retryDeadLetterLambdaQueryWrapper = new LambdaQueryWrapper<>(); retryDeadLetterLambdaQueryWrapper.eq(RetryDeadLetter::getGroupName, queryVO.getGroupName()); - if (StringUtils.isNotBlank(queryVO.getSceneName())) { + if (StrUtil.isNotBlank(queryVO.getSceneName())) { retryDeadLetterLambdaQueryWrapper.eq(RetryDeadLetter::getSceneName, queryVO.getSceneName()); } - if (StringUtils.isNotBlank(queryVO.getBizNo())) { + if (StrUtil.isNotBlank(queryVO.getBizNo())) { retryDeadLetterLambdaQueryWrapper.eq(RetryDeadLetter::getBizNo, queryVO.getBizNo()); } - if (StringUtils.isNotBlank(queryVO.getIdempotentId())) { + if (StrUtil.isNotBlank(queryVO.getIdempotentId())) { retryDeadLetterLambdaQueryWrapper.eq(RetryDeadLetter::getIdempotentId, queryVO.getIdempotentId()); } - if (StringUtils.isNotBlank(queryVO.getUniqueId())) { + if (StrUtil.isNotBlank(queryVO.getUniqueId())) { retryDeadLetterLambdaQueryWrapper.eq(RetryDeadLetter::getUniqueId, queryVO.getUniqueId()); } diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/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 similarity index 85% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/impl/RetryTaskLogServiceImpl.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/RetryTaskLogServiceImpl.java index 9f8c0a0a..edb49d26 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/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 @@ -1,5 +1,6 @@ -package com.aizuda.easy.retry.server.service.impl; +package com.aizuda.easy.retry.server.web.service.impl; +import cn.hutool.core.util.StrUtil; import com.aizuda.easy.retry.template.datasource.persistence.mapper.RetryTaskLogMapper; import com.aizuda.easy.retry.template.datasource.persistence.mapper.RetryTaskLogMessageMapper; import com.aizuda.easy.retry.template.datasource.persistence.po.RetryTaskLog; @@ -9,11 +10,10 @@ import com.aizuda.easy.retry.server.web.model.response.RetryTaskLogMessageRespon import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; import com.aizuda.easy.retry.server.web.model.base.PageResult; -import com.aizuda.easy.retry.server.service.RetryTaskLogService; -import com.aizuda.easy.retry.server.service.convert.RetryTaskLogResponseVOConverter; +import com.aizuda.easy.retry.server.web.service.RetryTaskLogService; +import com.aizuda.easy.retry.server.web.service.convert.RetryTaskLogResponseVOConverter; import com.aizuda.easy.retry.server.web.model.request.RetryTaskLogQueryVO; import com.aizuda.easy.retry.server.web.model.response.RetryTaskLogResponseVO; -import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -37,19 +37,19 @@ public class RetryTaskLogServiceImpl implements RetryTaskLogService { PageDTO pageDTO = new PageDTO<>(queryVO.getPage(), queryVO.getSize()); LambdaQueryWrapper retryTaskLogLambdaQueryWrapper = new LambdaQueryWrapper<>(); - if (StringUtils.isNotBlank(queryVO.getGroupName())) { + if (StrUtil.isNotBlank(queryVO.getGroupName())) { retryTaskLogLambdaQueryWrapper.eq(RetryTaskLog::getGroupName, queryVO.getGroupName()); } - if (StringUtils.isNotBlank(queryVO.getSceneName())) { + if (StrUtil.isNotBlank(queryVO.getSceneName())) { retryTaskLogLambdaQueryWrapper.eq(RetryTaskLog::getSceneName, queryVO.getSceneName()); } - if (StringUtils.isNotBlank(queryVO.getBizNo())) { + if (StrUtil.isNotBlank(queryVO.getBizNo())) { retryTaskLogLambdaQueryWrapper.eq(RetryTaskLog::getBizNo, queryVO.getBizNo()); } - if (StringUtils.isNotBlank(queryVO.getUniqueId())) { + if (StrUtil.isNotBlank(queryVO.getUniqueId())) { retryTaskLogLambdaQueryWrapper.eq(RetryTaskLog::getUniqueId, queryVO.getUniqueId()); } - if (StringUtils.isNotBlank(queryVO.getIdempotentId())) { + if (StrUtil.isNotBlank(queryVO.getIdempotentId())) { retryTaskLogLambdaQueryWrapper.eq(RetryTaskLog::getIdempotentId, queryVO.getIdempotentId()); } @@ -70,10 +70,10 @@ public class RetryTaskLogServiceImpl implements RetryTaskLogService { PageDTO pageDTO = new PageDTO<>(queryVO.getPage(), queryVO.getSize()); LambdaQueryWrapper retryTaskLogLambdaQueryWrapper = new LambdaQueryWrapper<>(); - if (StringUtils.isNotBlank(queryVO.getGroupName())) { + if (StrUtil.isNotBlank(queryVO.getGroupName())) { retryTaskLogLambdaQueryWrapper.eq(RetryTaskLogMessage::getGroupName, queryVO.getGroupName()); } - if (StringUtils.isNotBlank(queryVO.getUniqueId())) { + if (StrUtil.isNotBlank(queryVO.getUniqueId())) { retryTaskLogLambdaQueryWrapper.eq(RetryTaskLogMessage::getUniqueId, queryVO.getUniqueId()); } diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/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 similarity index 87% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/impl/RetryTaskServiceImpl.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/RetryTaskServiceImpl.java index 92194635..ace0394b 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/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 @@ -1,37 +1,45 @@ -package com.aizuda.easy.retry.server.service.impl; +package com.aizuda.easy.retry.server.web.service.impl; import akka.actor.ActorRef; import cn.hutool.core.lang.Assert; import cn.hutool.core.lang.Pair; +import cn.hutool.core.util.StrUtil; import com.aizuda.easy.retry.client.model.DispatchRetryResultDTO; import com.aizuda.easy.retry.client.model.GenerateRetryIdempotentIdDTO; import com.aizuda.easy.retry.common.core.enums.RetryStatusEnum; import com.aizuda.easy.retry.common.core.model.Result; import com.aizuda.easy.retry.common.core.util.JsonUtil; -import com.aizuda.easy.retry.server.akka.ActorGenerator; -import com.aizuda.easy.retry.server.dto.RegisterNodeInfo; -import com.aizuda.easy.retry.server.enums.TaskGeneratorScene; -import com.aizuda.easy.retry.server.enums.TaskTypeEnum; -import com.aizuda.easy.retry.server.exception.EasyRetryServerException; +import com.aizuda.easy.retry.server.common.akka.ActorGenerator; +import com.aizuda.easy.retry.server.common.dto.RegisterNodeInfo; +import com.aizuda.easy.retry.server.common.enums.TaskGeneratorScene; +import com.aizuda.easy.retry.server.common.enums.TaskTypeEnum; +import com.aizuda.easy.retry.server.common.exception.EasyRetryServerException; import com.aizuda.easy.retry.server.model.dto.RetryTaskDTO; -import com.aizuda.easy.retry.server.service.RetryTaskService; -import com.aizuda.easy.retry.server.service.convert.RetryTaskResponseVOConverter; -import com.aizuda.easy.retry.server.service.convert.TaskContextConverter; -import com.aizuda.easy.retry.server.support.IdempotentStrategy; -import com.aizuda.easy.retry.server.support.WaitStrategy; -import com.aizuda.easy.retry.server.support.context.CallbackRetryContext; -import com.aizuda.easy.retry.server.support.context.MaxAttemptsPersistenceRetryContext; -import com.aizuda.easy.retry.server.support.generator.TaskGenerator; -import com.aizuda.easy.retry.server.support.generator.task.TaskContext; -import com.aizuda.easy.retry.server.support.handler.ClientNodeAllocateHandler; -import com.aizuda.easy.retry.server.support.retry.RetryBuilder; -import com.aizuda.easy.retry.server.support.retry.RetryExecutor; -import com.aizuda.easy.retry.server.support.strategy.FilterStrategies; -import com.aizuda.easy.retry.server.support.strategy.StopStrategies; -import com.aizuda.easy.retry.server.support.strategy.WaitStrategies; +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.retry.task.support.IdempotentStrategy; +import com.aizuda.easy.retry.server.retry.task.support.WaitStrategy; +import com.aizuda.easy.retry.server.retry.task.support.context.CallbackRetryContext; +import com.aizuda.easy.retry.server.retry.task.support.context.MaxAttemptsPersistenceRetryContext; +import com.aizuda.easy.retry.server.common.handler.ClientNodeAllocateHandler; +import com.aizuda.easy.retry.server.retry.task.support.retry.RetryBuilder; +import com.aizuda.easy.retry.server.retry.task.support.retry.RetryExecutor; +import com.aizuda.easy.retry.server.retry.task.support.strategy.FilterStrategies; +import com.aizuda.easy.retry.server.retry.task.support.strategy.StopStrategies; +import com.aizuda.easy.retry.server.retry.task.support.strategy.WaitStrategies; import com.aizuda.easy.retry.server.web.model.base.PageResult; -import com.aizuda.easy.retry.server.web.model.request.*; +import com.aizuda.easy.retry.server.web.model.request.BatchDeleteRetryTaskVO; +import com.aizuda.easy.retry.server.web.model.request.GenerateRetryIdempotentIdVO; +import com.aizuda.easy.retry.server.web.model.request.ManualTriggerTaskRequestVO; +import com.aizuda.easy.retry.server.web.model.request.ParseLogsVO; +import com.aizuda.easy.retry.server.web.model.request.RetryTaskQueryVO; +import com.aizuda.easy.retry.server.web.model.request.RetryTaskSaveRequestVO; +import com.aizuda.easy.retry.server.web.model.request.RetryTaskUpdateExecutorNameRequestVO; +import com.aizuda.easy.retry.server.web.model.request.RetryTaskUpdateStatusRequestVO; import com.aizuda.easy.retry.server.web.model.response.RetryTaskResponseVO; +import com.aizuda.easy.retry.server.web.service.RetryTaskService; +import com.aizuda.easy.retry.server.web.service.convert.RetryTaskResponseVOConverter; +import com.aizuda.easy.retry.server.web.service.convert.TaskContextConverter; import com.aizuda.easy.retry.template.datasource.access.AccessTemplate; import com.aizuda.easy.retry.template.datasource.access.TaskAccess; import com.aizuda.easy.retry.template.datasource.persistence.mapper.RetryTaskLogMapper; @@ -44,7 +52,6 @@ import com.aizuda.easy.retry.template.datasource.utils.RequestDataHelper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; -import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.http.HttpEntity; @@ -55,7 +62,11 @@ import org.springframework.web.client.RestTemplate; import java.text.MessageFormat; import java.time.LocalDateTime; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Objects; import java.util.concurrent.TimeUnit; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -94,22 +105,22 @@ public class RetryTaskServiceImpl implements RetryTaskService { LambdaQueryWrapper retryTaskLambdaQueryWrapper = new LambdaQueryWrapper<>(); - if (StringUtils.isNotBlank(queryVO.getGroupName())) { + if (StrUtil.isNotBlank(queryVO.getGroupName())) { retryTaskLambdaQueryWrapper.eq(RetryTask::getGroupName, queryVO.getGroupName()); } else { return new PageResult<>(pageDTO, new ArrayList<>()); } - if (StringUtils.isNotBlank(queryVO.getSceneName())) { + if (StrUtil.isNotBlank(queryVO.getSceneName())) { retryTaskLambdaQueryWrapper.eq(RetryTask::getSceneName, queryVO.getSceneName()); } - if (StringUtils.isNotBlank(queryVO.getBizNo())) { + if (StrUtil.isNotBlank(queryVO.getBizNo())) { retryTaskLambdaQueryWrapper.eq(RetryTask::getBizNo, queryVO.getBizNo()); } - if (StringUtils.isNotBlank(queryVO.getIdempotentId())) { + if (StrUtil.isNotBlank(queryVO.getIdempotentId())) { retryTaskLambdaQueryWrapper.eq(RetryTask::getIdempotentId, queryVO.getIdempotentId()); } - if (StringUtils.isNotBlank(queryVO.getUniqueId())) { + if (StrUtil.isNotBlank(queryVO.getUniqueId())) { retryTaskLambdaQueryWrapper.eq(RetryTask::getUniqueId, queryVO.getUniqueId()); } if (Objects.nonNull(queryVO.getRetryStatus())) { @@ -268,7 +279,7 @@ public class RetryTaskServiceImpl implements RetryTaskService { // 查找匹配的内容并输出 while (matcher.find()) { String extractedData = matcher.group(1); - if (StringUtils.isBlank(extractedData)) { + if (StrUtil.isBlank(extractedData)) { continue; } @@ -377,7 +388,7 @@ public class RetryTaskServiceImpl implements RetryTaskService { Pair pair = executor.filter(); Assert.isTrue(pair.getKey(), () -> new EasyRetryServerException(pair.getValue().toString())); - + productExecUnitActor(executor, ActorGenerator.execCallbackUnitActor()); } diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/impl/SceneConfigServiceImpl.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/SceneConfigServiceImpl.java similarity index 87% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/impl/SceneConfigServiceImpl.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/SceneConfigServiceImpl.java index 03a703e8..e2057195 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/impl/SceneConfigServiceImpl.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/SceneConfigServiceImpl.java @@ -1,15 +1,15 @@ -package com.aizuda.easy.retry.server.service.impl; +package com.aizuda.easy.retry.server.web.service.impl; +import cn.hutool.core.util.StrUtil; import com.aizuda.easy.retry.template.datasource.persistence.mapper.SceneConfigMapper; import com.aizuda.easy.retry.template.datasource.persistence.po.SceneConfig; -import com.aizuda.easy.retry.server.service.convert.SceneConfigResponseVOConverter; +import com.aizuda.easy.retry.server.web.service.convert.SceneConfigResponseVOConverter; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; -import com.aizuda.easy.retry.server.service.SceneConfigService; +import com.aizuda.easy.retry.server.web.service.SceneConfigService; import com.aizuda.easy.retry.server.web.model.base.PageResult; import com.aizuda.easy.retry.server.web.model.request.SceneConfigQueryVO; import com.aizuda.easy.retry.server.web.model.response.SceneConfigResponseVO; -import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -30,7 +30,7 @@ public class SceneConfigServiceImpl implements SceneConfigService { PageDTO pageDTO = new PageDTO<>(queryVO.getPage(), queryVO.getSize()); LambdaQueryWrapper sceneConfigLambdaQueryWrapper = new LambdaQueryWrapper<>(); - if (StringUtils.isNotBlank(queryVO.getSceneName())) { + if (StrUtil.isNotBlank(queryVO.getSceneName())) { sceneConfigLambdaQueryWrapper.eq(SceneConfig::getSceneName, queryVO.getSceneName()); } diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/impl/SystemUserServiceImpl.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/SystemUserServiceImpl.java similarity index 96% rename from easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/impl/SystemUserServiceImpl.java rename to easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/SystemUserServiceImpl.java index ddd621af..2d5b08b1 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/service/impl/SystemUserServiceImpl.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/SystemUserServiceImpl.java @@ -1,26 +1,25 @@ -package com.aizuda.easy.retry.server.service.impl; +package com.aizuda.easy.retry.server.web.service.impl; import cn.hutool.core.lang.Assert; import cn.hutool.core.util.StrUtil; import cn.hutool.crypto.SecureUtil; -import com.aizuda.easy.retry.server.exception.EasyRetryServerException; +import com.aizuda.easy.retry.server.common.exception.EasyRetryServerException; import com.aizuda.easy.retry.template.datasource.persistence.mapper.SystemUserMapper; import com.aizuda.easy.retry.template.datasource.persistence.mapper.SystemUserPermissionMapper; import com.aizuda.easy.retry.template.datasource.persistence.po.SystemUser; import com.aizuda.easy.retry.template.datasource.persistence.po.SystemUserPermission; -import com.aizuda.easy.retry.server.service.SystemUserService; +import com.aizuda.easy.retry.server.web.service.SystemUserService; import com.auth0.jwt.JWT; import com.auth0.jwt.algorithms.Algorithm; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; import com.aizuda.easy.retry.common.core.util.JsonUtil; -import com.aizuda.easy.retry.server.service.convert.SystemUserResponseVOConverter; +import com.aizuda.easy.retry.server.web.service.convert.SystemUserResponseVOConverter; import com.aizuda.easy.retry.server.web.annotation.RoleEnum; import com.aizuda.easy.retry.server.web.model.base.PageResult; import com.aizuda.easy.retry.server.web.model.request.SystemUserQueryVO; import com.aizuda.easy.retry.server.web.model.request.SystemUserRequestVO; import com.aizuda.easy.retry.server.web.model.response.SystemUserResponseVO; -import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -171,7 +170,7 @@ public class SystemUserServiceImpl implements SystemUserService { LambdaQueryWrapper systemUserLambdaQueryWrapper = new LambdaQueryWrapper<>(); - if (StringUtils.isNotBlank(queryVO.getUsername())) { + if (StrUtil.isNotBlank(queryVO.getUsername())) { systemUserLambdaQueryWrapper.like(SystemUser::getUsername, "%" + queryVO.getUsername() + "%"); } diff --git a/easy-retry-server/easy-retry-server-web/src/main/resources/META-INF/spring.factories b/easy-retry-server/easy-retry-server-web/src/main/resources/META-INF/spring.factories new file mode 100644 index 00000000..3825379c --- /dev/null +++ b/easy-retry-server/easy-retry-server-web/src/main/resources/META-INF/spring.factories @@ -0,0 +1,2 @@ +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ + com.aizuda.easy.retry.server.web.config.EasyRetryServerWebAutoConfiguration diff --git a/easy-retry-server/pom.xml b/easy-retry-server/pom.xml index b19a97cd..f75010a5 100644 --- a/easy-retry-server/pom.xml +++ b/easy-retry-server/pom.xml @@ -10,10 +10,18 @@ easy-retry-server - jar + pom easy-retry-server easy-retry-server + + easy-retry-server-common + easy-retry-server-web + easy-retry-server-retry-task + easy-retry-server-job-task + easy-retry-server-starter + + 17 true @@ -26,123 +34,83 @@ 32.0.0-jre - - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-starter-validation - - - com.baomidou - mybatis-plus-boot-starter - - - com.typesafe.akka - akka-actor-typed_2.13 - ${akka.version} - - - com.typesafe.akka - akka-actor-testkit-typed_2.13 - ${akka.version} - test - - - com.google.guava - guava - ${guava.version} - - - org.projectlombok - lombok - true - - - org.springframework.boot - spring-boot-starter-test - test - - - com.aizuda - easy-retry-common-server-api - - - com.aizuda - easy-retry-common-core - - - com.aizuda - easy-retry-common-client-api - - - com.auth0 - java-jwt - ${java-jwt.version} - - - io.netty - netty-all - - - com.squareup.okhttp3 - okhttp - ${okhttp.version} - - - commons-lang - commons-lang - ${commons-lang.version} - - - org.mapstruct - mapstruct - ${org.mapstruct.version} - provided - - - org.mapstruct - mapstruct-processor - ${org.mapstruct.version} - - - org.springframework.boot - spring-boot-configuration-processor - true - - - org.perf4j - perf4j - ${perf4j.version} - - - com.github.rholder - guava-retrying - - - junit - junit - test - - - com.aizuda - easy-retry-datasource-template - - - com.aizuda - easy-retry-mysql-datasource - - - com.aizuda - easy-retry-postgres-datasource - - - com.aizuda - easy-retry-mariadb-datasource - - + + + + com.aizuda + easy-retry-server-common + ${revision} + + + com.aizuda + easy-retry-server-web + ${revision} + + + com.aizuda + easy-retry-server-retry-task + ${revision} + + + com.aizuda + easy-retry-server-job-task + ${revision} + + + com.typesafe.akka + akka-actor-typed_2.13 + ${akka.version} + + + com.typesafe.akka + akka-actor-testkit-typed_2.13 + ${akka.version} + test + + + com.google.guava + guava + ${guava.version} + + + org.projectlombok + lombok + 1.18.28 + true + + + com.auth0 + java-jwt + ${java-jwt.version} + + + com.squareup.okhttp3 + okhttp + ${okhttp.version} + + + commons-lang + commons-lang + ${commons-lang.version} + + + org.mapstruct + mapstruct + ${org.mapstruct.version} + + + org.mapstruct + mapstruct-processor + ${org.mapstruct.version} + + + org.perf4j + perf4j + ${perf4j.version} + + + + easy-retry-server diff --git a/easy-retry-server/src/main/resources/admin/css/app.f24fef3a.css b/easy-retry-server/src/main/resources/admin/css/app.f24fef3a.css deleted file mode 100644 index fb317a01..00000000 --- a/easy-retry-server/src/main/resources/admin/css/app.f24fef3a.css +++ /dev/null @@ -1 +0,0 @@ -.ant-pro-header-menu .anticon{margin-right:8px}.ant-pro-header-menu .ant-dropdown-menu-item{min-width:160px}.ant-pro-drop-down{line-height:64px;vertical-align:top;cursor:pointer}.ant-pro-drop-down>i{font-size:16px!important;-webkit-transform:none!important;transform:none!important}.ant-pro-drop-down>i svg{position:relative;top:-1px}#userLayout.user-layout-wrapper[data-v-77578f85]{height:100%}#userLayout.user-layout-wrapper.mobile .container .main[data-v-77578f85]{max-width:368px;width:98%}#userLayout.user-layout-wrapper .container[data-v-77578f85]{width:100%;min-height:100%;background:#f0f2f5 url(../assets/background.6f870c8d.svg) no-repeat 50%;background-size:100%;padding:10% 0 0 0;position:relative}#userLayout.user-layout-wrapper .container .user-layout-lang[data-v-77578f85]{width:100%;height:40px;line-height:44px;text-align:right}#userLayout.user-layout-wrapper .container .user-layout-lang .select-lang-trigger[data-v-77578f85]{cursor:pointer;padding:12px;margin-right:24px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:18px;vertical-align:middle}#userLayout.user-layout-wrapper .container .user-layout-content[data-v-77578f85]{padding:32px 0 24px}#userLayout.user-layout-wrapper .container .user-layout-content .top[data-v-77578f85]{text-align:center}#userLayout.user-layout-wrapper .container .user-layout-content .top .header[data-v-77578f85]{height:44px;line-height:44px}#userLayout.user-layout-wrapper .container .user-layout-content .top .header .badge[data-v-77578f85]{position:absolute;display:inline-block;line-height:1;vertical-align:middle;margin-left:-12px;margin-top:-10px;opacity:.8}#userLayout.user-layout-wrapper .container .user-layout-content .top .header .logo[data-v-77578f85]{height:44px;vertical-align:top;margin-right:16px;border-style:none}#userLayout.user-layout-wrapper .container .user-layout-content .top .header .title[data-v-77578f85]{font-size:33px;color:rgba(0,0,0,.85);font-family:Avenir,Helvetica Neue,Arial,Helvetica,sans-serif;font-weight:600;position:relative;top:2px}#userLayout.user-layout-wrapper .container .user-layout-content .top .desc[data-v-77578f85]{font-size:14px;color:rgba(0,0,0,.45);margin-top:12px;margin-bottom:40px}#userLayout.user-layout-wrapper .container .user-layout-content .main[data-v-77578f85]{min-width:260px;width:368px;margin:0 auto}#userLayout.user-layout-wrapper .container .user-layout-content .footer[data-v-77578f85]{width:100%;bottom:0;padding:0 16px;margin:48px 0 24px;text-align:center}#userLayout.user-layout-wrapper .container .user-layout-content .footer .links[data-v-77578f85]{margin-bottom:8px;font-size:14px}#userLayout.user-layout-wrapper .container .user-layout-content .footer .links a[data-v-77578f85]{color:rgba(0,0,0,.45);-webkit-transition:all .3s;transition:all .3s}#userLayout.user-layout-wrapper .container .user-layout-content .footer .links a[data-v-77578f85]:not(:last-child){margin-right:40px}#userLayout.user-layout-wrapper .container .user-layout-content .footer .copyright[data-v-77578f85]{color:rgba(0,0,0,.45);font-size:14px}#userLayout.user-layout-wrapper .container a[data-v-77578f85]{text-decoration:none}.ant-pro-drop-down[data-v-fd4de960] .action{margin-right:8px}.ant-pro-drop-down[data-v-fd4de960] .ant-dropdown-menu-item{min-width:160px}.business-pro-ad[data-v-4109f67d]{position:fixed;background:hsla(0,0%,100%,.25);left:0;bottom:0;padding:0 12px;height:48px;width:258px;z-index:99}.ant-pro-global-header-index-right{margin-right:8px}.ant-pro-global-header-index-right.ant-pro-global-header-index-dark .ant-pro-global-header-index-action{color:hsla(0,0%,100%,.85)}.ant-pro-global-header-index-right.ant-pro-global-header-index-dark .ant-pro-global-header-index-action:hover{background:#1890ff}.ant-pro-global-header-index-right .ant-pro-account-avatar .antd-pro-global-header-index-avatar{margin:20px 0;margin-right:8px;color:#22aae3;vertical-align:top;background:hsla(0,0%,100%,.85)}.ant-pro-global-header-index-right .menu .anticon{margin-right:8px}.ant-pro-global-header-index-right .menu .ant-dropdown-menu-item{min-width:100px}.ant-pro-multi-tab{margin:-23px -24px 24px -24px;background:#fff}.topmenu .ant-pro-multi-tab-wrapper{max-width:1200px;margin:0 auto}.topmenu.content-width-Fluid .ant-pro-multi-tab-wrapper{max-width:100%;margin:0 auto}body,html{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,:after,:before{-webkit-box-sizing:border-box;box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;color:rgba(0,0,0,.65);font-size:14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-variant:tabular-nums;line-height:1.5;background-color:#fff;-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum"}[tabindex="-1"]:focus{outline:none!important}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;color:rgba(0,0,0,.85);font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=number],input[type=password],input[type=text],textarea{-webkit-appearance:none}dl,ol,ul{margin-top:0;margin-bottom:1em}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#22aae3;text-decoration:none;background-color:transparent;outline:none;cursor:pointer;-webkit-transition:color .3s;transition:color .3s;-webkit-text-decoration-skip:objects}a:hover{color:#4ac4f0}a:active{color:#1384bd}a:active,a:hover{text-decoration:none;outline:0}a[disabled]{color:rgba(0,0,0,.25);cursor:not-allowed;pointer-events:none}code,kbd,pre,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}[role=button],a,area,button,input:not([type=range]),label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;color:rgba(0,0,0,.45);text-align:left;caption-side:bottom}th{text-align:inherit}button,input,optgroup,select,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}::-moz-selection{color:#fff;background:#22aae3}::selection{color:#fff;background:#22aae3}.clearfix{zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}.anticon{display:inline-block;color:inherit;font-style:normal;line-height:0;text-align:center;text-transform:none;vertical-align:-.125em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.anticon>*{line-height:1}.anticon svg{display:inline-block}.anticon:before{display:none}.anticon .anticon-icon{display:block}.anticon[tabindex]{cursor:pointer}.anticon-spin,.anticon-spin:before{display:inline-block;-webkit-animation:loadingCircle 1s linear infinite;animation:loadingCircle 1s linear infinite}.fade-appear,.fade-enter,.fade-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.fade-appear.fade-appear-active,.fade-enter.fade-enter-active{-webkit-animation-name:antFadeIn;animation-name:antFadeIn;-webkit-animation-play-state:running;animation-play-state:running}.fade-leave.fade-leave-active{-webkit-animation-name:antFadeOut;animation-name:antFadeOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.fade-appear,.fade-enter{opacity:0}.fade-appear,.fade-enter,.fade-leave{-webkit-animation-timing-function:linear;animation-timing-function:linear}@-webkit-keyframes antFadeIn{0%{opacity:0}to{opacity:1}}@keyframes antFadeIn{0%{opacity:0}to{opacity:1}}@-webkit-keyframes antFadeOut{0%{opacity:1}to{opacity:0}}@keyframes antFadeOut{0%{opacity:1}to{opacity:0}}.move-up-appear,.move-up-enter,.move-up-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.move-up-appear.move-up-appear-active,.move-up-enter.move-up-enter-active{-webkit-animation-name:antMoveUpIn;animation-name:antMoveUpIn;-webkit-animation-play-state:running;animation-play-state:running}.move-up-leave.move-up-leave-active{-webkit-animation-name:antMoveUpOut;animation-name:antMoveUpOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.move-up-appear,.move-up-enter{opacity:0;-webkit-animation-timing-function:cubic-bezier(.08,.82,.17,1);animation-timing-function:cubic-bezier(.08,.82,.17,1)}.move-up-leave{-webkit-animation-timing-function:cubic-bezier(.6,.04,.98,.34);animation-timing-function:cubic-bezier(.6,.04,.98,.34)}.move-down-appear,.move-down-enter,.move-down-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.move-down-appear.move-down-appear-active,.move-down-enter.move-down-enter-active{-webkit-animation-name:antMoveDownIn;animation-name:antMoveDownIn;-webkit-animation-play-state:running;animation-play-state:running}.move-down-leave.move-down-leave-active{-webkit-animation-name:antMoveDownOut;animation-name:antMoveDownOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.move-down-appear,.move-down-enter{opacity:0;-webkit-animation-timing-function:cubic-bezier(.08,.82,.17,1);animation-timing-function:cubic-bezier(.08,.82,.17,1)}.move-down-leave{-webkit-animation-timing-function:cubic-bezier(.6,.04,.98,.34);animation-timing-function:cubic-bezier(.6,.04,.98,.34)}.move-left-appear,.move-left-enter,.move-left-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.move-left-appear.move-left-appear-active,.move-left-enter.move-left-enter-active{-webkit-animation-name:antMoveLeftIn;animation-name:antMoveLeftIn;-webkit-animation-play-state:running;animation-play-state:running}.move-left-leave.move-left-leave-active{-webkit-animation-name:antMoveLeftOut;animation-name:antMoveLeftOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.move-left-appear,.move-left-enter{opacity:0;-webkit-animation-timing-function:cubic-bezier(.08,.82,.17,1);animation-timing-function:cubic-bezier(.08,.82,.17,1)}.move-left-leave{-webkit-animation-timing-function:cubic-bezier(.6,.04,.98,.34);animation-timing-function:cubic-bezier(.6,.04,.98,.34)}.move-right-appear,.move-right-enter,.move-right-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.move-right-appear.move-right-appear-active,.move-right-enter.move-right-enter-active{-webkit-animation-name:antMoveRightIn;animation-name:antMoveRightIn;-webkit-animation-play-state:running;animation-play-state:running}.move-right-leave.move-right-leave-active{-webkit-animation-name:antMoveRightOut;animation-name:antMoveRightOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.move-right-appear,.move-right-enter{opacity:0;-webkit-animation-timing-function:cubic-bezier(.08,.82,.17,1);animation-timing-function:cubic-bezier(.08,.82,.17,1)}.move-right-leave{-webkit-animation-timing-function:cubic-bezier(.6,.04,.98,.34);animation-timing-function:cubic-bezier(.6,.04,.98,.34)}@-webkit-keyframes antMoveDownIn{0%{-webkit-transform:translateY(100%);transform:translateY(100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@keyframes antMoveDownIn{0%{-webkit-transform:translateY(100%);transform:translateY(100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@-webkit-keyframes antMoveDownOut{0%{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}to{-webkit-transform:translateY(100%);transform:translateY(100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}}@keyframes antMoveDownOut{0%{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}to{-webkit-transform:translateY(100%);transform:translateY(100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}}@-webkit-keyframes antMoveLeftIn{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}to{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@keyframes antMoveLeftIn{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}to{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@-webkit-keyframes antMoveLeftOut{0%{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}to{-webkit-transform:translateX(-100%);transform:translateX(-100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}}@keyframes antMoveLeftOut{0%{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}to{-webkit-transform:translateX(-100%);transform:translateX(-100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}}@-webkit-keyframes antMoveRightIn{0%{-webkit-transform:translateX(100%);transform:translateX(100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}to{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@keyframes antMoveRightIn{0%{-webkit-transform:translateX(100%);transform:translateX(100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}to{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@-webkit-keyframes antMoveRightOut{0%{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}to{-webkit-transform:translateX(100%);transform:translateX(100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}}@keyframes antMoveRightOut{0%{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}to{-webkit-transform:translateX(100%);transform:translateX(100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}}@-webkit-keyframes antMoveUpIn{0%{-webkit-transform:translateY(-100%);transform:translateY(-100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@keyframes antMoveUpIn{0%{-webkit-transform:translateY(-100%);transform:translateY(-100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@-webkit-keyframes antMoveUpOut{0%{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}to{-webkit-transform:translateY(-100%);transform:translateY(-100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}}@keyframes antMoveUpOut{0%{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}to{-webkit-transform:translateY(-100%);transform:translateY(-100%);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}}@-webkit-keyframes loadingCircle{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loadingCircle{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}[ant-click-animating-without-extra-node=true],[ant-click-animating=true]{position:relative}html{--antd-wave-shadow-color:#22aae3}.ant-click-animating-node,[ant-click-animating-without-extra-node=true]:after{position:absolute;top:0;right:0;bottom:0;left:0;display:block;border-radius:inherit;-webkit-box-shadow:0 0 0 0 #22aae3;box-shadow:0 0 0 0 #22aae3;-webkit-box-shadow:0 0 0 0 var(--antd-wave-shadow-color);box-shadow:0 0 0 0 var(--antd-wave-shadow-color);opacity:.2;-webkit-animation:fadeEffect 2s cubic-bezier(.08,.82,.17,1),waveEffect .4s cubic-bezier(.08,.82,.17,1);animation:fadeEffect 2s cubic-bezier(.08,.82,.17,1),waveEffect .4s cubic-bezier(.08,.82,.17,1);-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;content:"";pointer-events:none}@-webkit-keyframes waveEffect{to{-webkit-box-shadow:0 0 0 #22aae3;box-shadow:0 0 0 #22aae3;-webkit-box-shadow:0 0 0 6px var(--antd-wave-shadow-color);box-shadow:0 0 0 6px var(--antd-wave-shadow-color)}}@keyframes waveEffect{to{-webkit-box-shadow:0 0 0 #22aae3;box-shadow:0 0 0 #22aae3;-webkit-box-shadow:0 0 0 6px var(--antd-wave-shadow-color);box-shadow:0 0 0 6px var(--antd-wave-shadow-color)}}@-webkit-keyframes fadeEffect{to{opacity:0}}@keyframes fadeEffect{to{opacity:0}}.slide-up-appear,.slide-up-enter,.slide-up-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.slide-up-appear.slide-up-appear-active,.slide-up-enter.slide-up-enter-active{-webkit-animation-name:antSlideUpIn;animation-name:antSlideUpIn;-webkit-animation-play-state:running;animation-play-state:running}.slide-up-leave.slide-up-leave-active{-webkit-animation-name:antSlideUpOut;animation-name:antSlideUpOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.slide-up-appear,.slide-up-enter{opacity:0;-webkit-animation-timing-function:cubic-bezier(.23,1,.32,1);animation-timing-function:cubic-bezier(.23,1,.32,1)}.slide-up-leave{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06)}.slide-down-appear,.slide-down-enter,.slide-down-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.slide-down-appear.slide-down-appear-active,.slide-down-enter.slide-down-enter-active{-webkit-animation-name:antSlideDownIn;animation-name:antSlideDownIn;-webkit-animation-play-state:running;animation-play-state:running}.slide-down-leave.slide-down-leave-active{-webkit-animation-name:antSlideDownOut;animation-name:antSlideDownOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.slide-down-appear,.slide-down-enter{opacity:0;-webkit-animation-timing-function:cubic-bezier(.23,1,.32,1);animation-timing-function:cubic-bezier(.23,1,.32,1)}.slide-down-leave{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06)}.slide-left-appear,.slide-left-enter,.slide-left-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.slide-left-appear.slide-left-appear-active,.slide-left-enter.slide-left-enter-active{-webkit-animation-name:antSlideLeftIn;animation-name:antSlideLeftIn;-webkit-animation-play-state:running;animation-play-state:running}.slide-left-leave.slide-left-leave-active{-webkit-animation-name:antSlideLeftOut;animation-name:antSlideLeftOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.slide-left-appear,.slide-left-enter{opacity:0;-webkit-animation-timing-function:cubic-bezier(.23,1,.32,1);animation-timing-function:cubic-bezier(.23,1,.32,1)}.slide-left-leave{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06)}.slide-right-appear,.slide-right-enter,.slide-right-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.slide-right-appear.slide-right-appear-active,.slide-right-enter.slide-right-enter-active{-webkit-animation-name:antSlideRightIn;animation-name:antSlideRightIn;-webkit-animation-play-state:running;animation-play-state:running}.slide-right-leave.slide-right-leave-active{-webkit-animation-name:antSlideRightOut;animation-name:antSlideRightOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.slide-right-appear,.slide-right-enter{opacity:0;-webkit-animation-timing-function:cubic-bezier(.23,1,.32,1);animation-timing-function:cubic-bezier(.23,1,.32,1)}.slide-right-leave{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06)}@-webkit-keyframes antSlideUpIn{0%{-webkit-transform:scaleY(.8);transform:scaleY(.8);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}to{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@keyframes antSlideUpIn{0%{-webkit-transform:scaleY(.8);transform:scaleY(.8);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}to{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@-webkit-keyframes antSlideUpOut{0%{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}to{-webkit-transform:scaleY(.8);transform:scaleY(.8);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}}@keyframes antSlideUpOut{0%{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}to{-webkit-transform:scaleY(.8);transform:scaleY(.8);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}}@-webkit-keyframes antSlideDownIn{0%{-webkit-transform:scaleY(.8);transform:scaleY(.8);-webkit-transform-origin:100% 100%;transform-origin:100% 100%;opacity:0}to{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:100% 100%;transform-origin:100% 100%;opacity:1}}@keyframes antSlideDownIn{0%{-webkit-transform:scaleY(.8);transform:scaleY(.8);-webkit-transform-origin:100% 100%;transform-origin:100% 100%;opacity:0}to{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:100% 100%;transform-origin:100% 100%;opacity:1}}@-webkit-keyframes antSlideDownOut{0%{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:100% 100%;transform-origin:100% 100%;opacity:1}to{-webkit-transform:scaleY(.8);transform:scaleY(.8);-webkit-transform-origin:100% 100%;transform-origin:100% 100%;opacity:0}}@keyframes antSlideDownOut{0%{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transform-origin:100% 100%;transform-origin:100% 100%;opacity:1}to{-webkit-transform:scaleY(.8);transform:scaleY(.8);-webkit-transform-origin:100% 100%;transform-origin:100% 100%;opacity:0}}@-webkit-keyframes antSlideLeftIn{0%{-webkit-transform:scaleX(.8);transform:scaleX(.8);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}to{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@keyframes antSlideLeftIn{0%{-webkit-transform:scaleX(.8);transform:scaleX(.8);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}to{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}}@-webkit-keyframes antSlideLeftOut{0%{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}to{-webkit-transform:scaleX(.8);transform:scaleX(.8);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}}@keyframes antSlideLeftOut{0%{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:1}to{-webkit-transform:scaleX(.8);transform:scaleX(.8);-webkit-transform-origin:0 0;transform-origin:0 0;opacity:0}}@-webkit-keyframes antSlideRightIn{0%{-webkit-transform:scaleX(.8);transform:scaleX(.8);-webkit-transform-origin:100% 0;transform-origin:100% 0;opacity:0}to{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transform-origin:100% 0;transform-origin:100% 0;opacity:1}}@keyframes antSlideRightIn{0%{-webkit-transform:scaleX(.8);transform:scaleX(.8);-webkit-transform-origin:100% 0;transform-origin:100% 0;opacity:0}to{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transform-origin:100% 0;transform-origin:100% 0;opacity:1}}@-webkit-keyframes antSlideRightOut{0%{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transform-origin:100% 0;transform-origin:100% 0;opacity:1}to{-webkit-transform:scaleX(.8);transform:scaleX(.8);-webkit-transform-origin:100% 0;transform-origin:100% 0;opacity:0}}@keyframes antSlideRightOut{0%{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transform-origin:100% 0;transform-origin:100% 0;opacity:1}to{-webkit-transform:scaleX(.8);transform:scaleX(.8);-webkit-transform-origin:100% 0;transform-origin:100% 0;opacity:0}}.swing-appear,.swing-enter{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.swing-appear.swing-appear-active,.swing-enter.swing-enter-active{-webkit-animation-name:antSwingIn;animation-name:antSwingIn;-webkit-animation-play-state:running;animation-play-state:running}@-webkit-keyframes antSwingIn{0%,to{-webkit-transform:translateX(0);transform:translateX(0)}20%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}40%{-webkit-transform:translateX(10px);transform:translateX(10px)}60%{-webkit-transform:translateX(-5px);transform:translateX(-5px)}80%{-webkit-transform:translateX(5px);transform:translateX(5px)}}@keyframes antSwingIn{0%,to{-webkit-transform:translateX(0);transform:translateX(0)}20%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}40%{-webkit-transform:translateX(10px);transform:translateX(10px)}60%{-webkit-transform:translateX(-5px);transform:translateX(-5px)}80%{-webkit-transform:translateX(5px);transform:translateX(5px)}}.zoom-appear,.zoom-enter,.zoom-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.zoom-appear.zoom-appear-active,.zoom-enter.zoom-enter-active{-webkit-animation-name:antZoomIn;animation-name:antZoomIn;-webkit-animation-play-state:running;animation-play-state:running}.zoom-leave.zoom-leave-active{-webkit-animation-name:antZoomOut;animation-name:antZoomOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.zoom-appear,.zoom-enter{-webkit-transform:scale(0);transform:scale(0);opacity:0;-webkit-animation-timing-function:cubic-bezier(.08,.82,.17,1);animation-timing-function:cubic-bezier(.08,.82,.17,1)}.zoom-leave{-webkit-animation-timing-function:cubic-bezier(.78,.14,.15,.86);animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.zoom-big-appear,.zoom-big-enter,.zoom-big-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.zoom-big-appear.zoom-big-appear-active,.zoom-big-enter.zoom-big-enter-active{-webkit-animation-name:antZoomBigIn;animation-name:antZoomBigIn;-webkit-animation-play-state:running;animation-play-state:running}.zoom-big-leave.zoom-big-leave-active{-webkit-animation-name:antZoomBigOut;animation-name:antZoomBigOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.zoom-big-appear,.zoom-big-enter{-webkit-transform:scale(0);transform:scale(0);opacity:0;-webkit-animation-timing-function:cubic-bezier(.08,.82,.17,1);animation-timing-function:cubic-bezier(.08,.82,.17,1)}.zoom-big-leave{-webkit-animation-timing-function:cubic-bezier(.78,.14,.15,.86);animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.zoom-big-fast-appear,.zoom-big-fast-enter,.zoom-big-fast-leave{-webkit-animation-duration:.1s;animation-duration:.1s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.zoom-big-fast-appear.zoom-big-fast-appear-active,.zoom-big-fast-enter.zoom-big-fast-enter-active{-webkit-animation-name:antZoomBigIn;animation-name:antZoomBigIn;-webkit-animation-play-state:running;animation-play-state:running}.zoom-big-fast-leave.zoom-big-fast-leave-active{-webkit-animation-name:antZoomBigOut;animation-name:antZoomBigOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.zoom-big-fast-appear,.zoom-big-fast-enter{-webkit-transform:scale(0);transform:scale(0);opacity:0;-webkit-animation-timing-function:cubic-bezier(.08,.82,.17,1);animation-timing-function:cubic-bezier(.08,.82,.17,1)}.zoom-big-fast-leave{-webkit-animation-timing-function:cubic-bezier(.78,.14,.15,.86);animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.zoom-up-appear,.zoom-up-enter,.zoom-up-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.zoom-up-appear.zoom-up-appear-active,.zoom-up-enter.zoom-up-enter-active{-webkit-animation-name:antZoomUpIn;animation-name:antZoomUpIn;-webkit-animation-play-state:running;animation-play-state:running}.zoom-up-leave.zoom-up-leave-active{-webkit-animation-name:antZoomUpOut;animation-name:antZoomUpOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.zoom-up-appear,.zoom-up-enter{-webkit-transform:scale(0);transform:scale(0);opacity:0;-webkit-animation-timing-function:cubic-bezier(.08,.82,.17,1);animation-timing-function:cubic-bezier(.08,.82,.17,1)}.zoom-up-leave{-webkit-animation-timing-function:cubic-bezier(.78,.14,.15,.86);animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.zoom-down-appear,.zoom-down-enter,.zoom-down-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.zoom-down-appear.zoom-down-appear-active,.zoom-down-enter.zoom-down-enter-active{-webkit-animation-name:antZoomDownIn;animation-name:antZoomDownIn;-webkit-animation-play-state:running;animation-play-state:running}.zoom-down-leave.zoom-down-leave-active{-webkit-animation-name:antZoomDownOut;animation-name:antZoomDownOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.zoom-down-appear,.zoom-down-enter{-webkit-transform:scale(0);transform:scale(0);opacity:0;-webkit-animation-timing-function:cubic-bezier(.08,.82,.17,1);animation-timing-function:cubic-bezier(.08,.82,.17,1)}.zoom-down-leave{-webkit-animation-timing-function:cubic-bezier(.78,.14,.15,.86);animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.zoom-left-appear,.zoom-left-enter,.zoom-left-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.zoom-left-appear.zoom-left-appear-active,.zoom-left-enter.zoom-left-enter-active{-webkit-animation-name:antZoomLeftIn;animation-name:antZoomLeftIn;-webkit-animation-play-state:running;animation-play-state:running}.zoom-left-leave.zoom-left-leave-active{-webkit-animation-name:antZoomLeftOut;animation-name:antZoomLeftOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.zoom-left-appear,.zoom-left-enter{-webkit-transform:scale(0);transform:scale(0);opacity:0;-webkit-animation-timing-function:cubic-bezier(.08,.82,.17,1);animation-timing-function:cubic-bezier(.08,.82,.17,1)}.zoom-left-leave{-webkit-animation-timing-function:cubic-bezier(.78,.14,.15,.86);animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.zoom-right-appear,.zoom-right-enter,.zoom-right-leave{-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-play-state:paused;animation-play-state:paused}.zoom-right-appear.zoom-right-appear-active,.zoom-right-enter.zoom-right-enter-active{-webkit-animation-name:antZoomRightIn;animation-name:antZoomRightIn;-webkit-animation-play-state:running;animation-play-state:running}.zoom-right-leave.zoom-right-leave-active{-webkit-animation-name:antZoomRightOut;animation-name:antZoomRightOut;-webkit-animation-play-state:running;animation-play-state:running;pointer-events:none}.zoom-right-appear,.zoom-right-enter{-webkit-transform:scale(0);transform:scale(0);opacity:0;-webkit-animation-timing-function:cubic-bezier(.08,.82,.17,1);animation-timing-function:cubic-bezier(.08,.82,.17,1)}.zoom-right-leave{-webkit-animation-timing-function:cubic-bezier(.78,.14,.15,.86);animation-timing-function:cubic-bezier(.78,.14,.15,.86)}@-webkit-keyframes antZoomIn{0%{-webkit-transform:scale(.2);transform:scale(.2);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes antZoomIn{0%{-webkit-transform:scale(.2);transform:scale(.2);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@-webkit-keyframes antZoomOut{0%{-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:scale(.2);transform:scale(.2);opacity:0}}@keyframes antZoomOut{0%{-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:scale(.2);transform:scale(.2);opacity:0}}@-webkit-keyframes antZoomBigIn{0%{-webkit-transform:scale(.8);transform:scale(.8);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes antZoomBigIn{0%{-webkit-transform:scale(.8);transform:scale(.8);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@-webkit-keyframes antZoomBigOut{0%{-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:scale(.8);transform:scale(.8);opacity:0}}@keyframes antZoomBigOut{0%{-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:scale(.8);transform:scale(.8);opacity:0}}@-webkit-keyframes antZoomUpIn{0%{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:50% 0;transform-origin:50% 0;opacity:0}to{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:50% 0;transform-origin:50% 0}}@keyframes antZoomUpIn{0%{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:50% 0;transform-origin:50% 0;opacity:0}to{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:50% 0;transform-origin:50% 0}}@-webkit-keyframes antZoomUpOut{0%{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:50% 0;transform-origin:50% 0}to{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:50% 0;transform-origin:50% 0;opacity:0}}@keyframes antZoomUpOut{0%{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:50% 0;transform-origin:50% 0}to{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:50% 0;transform-origin:50% 0;opacity:0}}@-webkit-keyframes antZoomLeftIn{0%{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:0 50%;transform-origin:0 50%;opacity:0}to{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:0 50%;transform-origin:0 50%}}@keyframes antZoomLeftIn{0%{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:0 50%;transform-origin:0 50%;opacity:0}to{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:0 50%;transform-origin:0 50%}}@-webkit-keyframes antZoomLeftOut{0%{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:0 50%;transform-origin:0 50%}to{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:0 50%;transform-origin:0 50%;opacity:0}}@keyframes antZoomLeftOut{0%{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:0 50%;transform-origin:0 50%}to{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:0 50%;transform-origin:0 50%;opacity:0}}@-webkit-keyframes antZoomRightIn{0%{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:100% 50%;transform-origin:100% 50%;opacity:0}to{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:100% 50%;transform-origin:100% 50%}}@keyframes antZoomRightIn{0%{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:100% 50%;transform-origin:100% 50%;opacity:0}to{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:100% 50%;transform-origin:100% 50%}}@-webkit-keyframes antZoomRightOut{0%{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:100% 50%;transform-origin:100% 50%}to{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:100% 50%;transform-origin:100% 50%;opacity:0}}@keyframes antZoomRightOut{0%{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:100% 50%;transform-origin:100% 50%}to{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:100% 50%;transform-origin:100% 50%;opacity:0}}@-webkit-keyframes antZoomDownIn{0%{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;opacity:0}to{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:50% 100%;transform-origin:50% 100%}}@keyframes antZoomDownIn{0%{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;opacity:0}to{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:50% 100%;transform-origin:50% 100%}}@-webkit-keyframes antZoomDownOut{0%{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:50% 100%;transform-origin:50% 100%}to{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;opacity:0}}@keyframes antZoomDownOut{0%{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:50% 100%;transform-origin:50% 100%}to{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;opacity:0}}.ant-motion-collapse-legacy{overflow:hidden}.ant-motion-collapse,.ant-motion-collapse-legacy-active{-webkit-transition:height .15s cubic-bezier(.645,.045,.355,1),opacity .15s cubic-bezier(.645,.045,.355,1)!important;transition:height .15s cubic-bezier(.645,.045,.355,1),opacity .15s cubic-bezier(.645,.045,.355,1)!important}.ant-motion-collapse{overflow:hidden}#nprogress{pointer-events:none}#nprogress .bar{background:#22aae3;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;-webkit-box-shadow:0 0 10px #22aae3,0 0 5px #22aae3;box-shadow:0 0 10px #22aae3,0 0 5px #22aae3;opacity:1;-webkit-transform:rotate(3deg) translateY(-4px);transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;-webkit-box-sizing:border-box;box-sizing:border-box;border:2px solid transparent;border-top-color:#22aae3;border-left-color:#22aae3;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(1turn)}}@keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}#app,#root,body,html{height:100%}.colorWeak{-webkit-filter:invert(80%);filter:invert(80%)}.ant-layout.layout-basic{height:100vh;min-height:100vh}canvas{display:block}body{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}ol,ul{list-style:none}.table-alert{margin-bottom:16px}.table-operator{margin-bottom:18px}.table-operator button{margin-right:8px}.table-page-search-wrapper .ant-form-inline .ant-form-item{display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:24px;margin-right:0}.table-page-search-wrapper .ant-form-inline .ant-form-item .ant-form-item-control-wrapper{-webkit-box-flex:1;-ms-flex:1 1;flex:1 1;display:inline-block;vertical-align:middle}.table-page-search-wrapper .ant-form-inline .ant-form-item>.ant-form-item-label{line-height:32px;padding-right:8px;width:auto}.table-page-search-wrapper .ant-form-inline .ant-form-item .ant-form-item-control{height:32px;line-height:32px}.table-page-search-wrapper .table-page-search-submitButtons{display:block;margin-bottom:24px;white-space:nowrap}@media (max-width:480px){.ant-table{width:100%;overflow-x:auto}.ant-table-tbody>tr>td,.ant-table-tbody>tr>th,.ant-table-thead>tr>td,.ant-table-thead>tr>th{white-space:pre}.ant-table-tbody>tr>td>span,.ant-table-tbody>tr>th>span,.ant-table-thead>tr>td>span,.ant-table-thead>tr>th>span{display:block}} \ No newline at end of file diff --git a/easy-retry-server/src/main/resources/spring-configuration-metadata.json b/easy-retry-server/src/main/resources/spring-configuration-metadata.json deleted file mode 100644 index 274a7c3e..00000000 --- a/easy-retry-server/src/main/resources/spring-configuration-metadata.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "groups": [ - { - "name": "easy-retry", - "type": "com.aizuda.easy.retry.server.config.SystemProperties", - "sourceType": "com.aizuda.easy.retry.server.config.SystemProperties" - } - ], - "properties": [ - { - "name": "easy-retry.callback", - "type": "jcom.aizuda.easy.retry.server.config.SystemProperties.Callback", - "defaultValue": "30", - "description": "服务端的地址,若服务端集群部署则此处配置域名", - "sourceType": "com.aizuda.easy.retry.server.config.SystemProperties" - } - ] -} diff --git a/pom.xml b/pom.xml index b17ef3df..f384557c 100644 --- a/pom.xml +++ b/pom.xml @@ -40,13 +40,11 @@ - io.netty netty-all ${netty-all.version} - com.aizuda easy-retry-common-core