From 33980d31013914e12a4817fbe502eb7738858972 Mon Sep 17 00:00:00 2001 From: seanyu Date: Sat, 6 May 2023 15:30:26 +0800 Subject: [PATCH] add PluginOrderConstant --- .../ExceptionCircuitBreakerReporter.java | 10 ++- .../SuccessCircuitBreakerReporter.java | 9 ++- .../config/PolarisTsfFlowConfigModifier.java | 3 + .../plugin/PluginOrderConstant.java | 67 +++++++++++++++++++ .../client/AssemblyClientExceptionHook.java | 4 +- .../client/AssemblyClientPostHook.java | 4 +- .../client/AssemblyClientPreHook.java | 4 +- .../server/AssemblyServerExceptionHook.java | 5 +- .../server/AssemblyServerPostHook.java | 4 +- .../server/AssemblyServerPreHook.java | 4 +- .../reporter/ExceptionPolarisReporter.java | 5 +- .../reporter/SuccessPolarisReporter.java | 5 +- 12 files changed, 104 insertions(+), 20 deletions(-) create mode 100644 spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/PluginOrderConstant.java diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/reporter/ExceptionCircuitBreakerReporter.java b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/reporter/ExceptionCircuitBreakerReporter.java index 4d0723d85..4ef515aa7 100644 --- a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/reporter/ExceptionCircuitBreakerReporter.java +++ b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/reporter/ExceptionCircuitBreakerReporter.java @@ -32,8 +32,14 @@ import org.slf4j.LoggerFactory; import org.springframework.cloud.client.DefaultServiceInstance; import org.springframework.cloud.client.ServiceInstance; -import org.springframework.core.Ordered; +import static com.tencent.cloud.rpc.enhancement.plugin.PluginOrderConstant.ClientPluginOrder.CIRCUIT_BREAKER_REPORTER_PLUGIN_ORDER; + +/** + * ExceptionCircuitBreakerReporter. + * + * @author sean yu + */ public class ExceptionCircuitBreakerReporter implements EnhancedPlugin { private static final Logger LOG = LoggerFactory.getLogger(ExceptionCircuitBreakerReporter.class); @@ -92,6 +98,6 @@ public class ExceptionCircuitBreakerReporter implements EnhancedPlugin { @Override public int getOrder() { - return Ordered.HIGHEST_PRECEDENCE + 2; + return CIRCUIT_BREAKER_REPORTER_PLUGIN_ORDER; } } diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/reporter/SuccessCircuitBreakerReporter.java b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/reporter/SuccessCircuitBreakerReporter.java index f37c7f877..8975b97ee 100644 --- a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/reporter/SuccessCircuitBreakerReporter.java +++ b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/reporter/SuccessCircuitBreakerReporter.java @@ -34,9 +34,14 @@ import org.slf4j.LoggerFactory; import org.springframework.cloud.client.DefaultServiceInstance; import org.springframework.cloud.client.ServiceInstance; -import org.springframework.core.Ordered; +import static com.tencent.cloud.rpc.enhancement.plugin.PluginOrderConstant.ClientPluginOrder.CIRCUIT_BREAKER_REPORTER_PLUGIN_ORDER; +/** + * SuccessCircuitBreakerReporter. + * + * @author sean yu + */ public class SuccessCircuitBreakerReporter implements EnhancedPlugin { private static final Logger LOG = LoggerFactory.getLogger(SuccessPolarisReporter.class); @@ -94,6 +99,6 @@ public class SuccessCircuitBreakerReporter implements EnhancedPlugin { @Override public int getOrder() { - return Ordered.HIGHEST_PRECEDENCE + 2; + return CIRCUIT_BREAKER_REPORTER_PLUGIN_ORDER; } } diff --git a/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-tsf-adapter-plugin/src/main/java/com/tencent/cloud/tsf/adapter/config/PolarisTsfFlowConfigModifier.java b/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-tsf-adapter-plugin/src/main/java/com/tencent/cloud/tsf/adapter/config/PolarisTsfFlowConfigModifier.java index 5f2ad01f7..335e55ae3 100644 --- a/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-tsf-adapter-plugin/src/main/java/com/tencent/cloud/tsf/adapter/config/PolarisTsfFlowConfigModifier.java +++ b/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-tsf-adapter-plugin/src/main/java/com/tencent/cloud/tsf/adapter/config/PolarisTsfFlowConfigModifier.java @@ -28,6 +28,9 @@ import com.tencent.polaris.factory.config.ConfigurationImpl; */ public class PolarisTsfFlowConfigModifier implements PolarisConfigModifier { + /** + * Polaris Tsf Flow Name. + */ public static final String TSF_FLOW_NAME = "tsf"; @Override diff --git a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/PluginOrderConstant.java b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/PluginOrderConstant.java new file mode 100644 index 000000000..dfa4148b1 --- /dev/null +++ b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/PluginOrderConstant.java @@ -0,0 +1,67 @@ +/* + * Tencent is pleased to support the open source community by making Spring Cloud Tencent available. + * + * Copyright (C) 2019 THL A29 Limited, a Tencent company. All rights reserved. + * + * Licensed under the BSD 3-Clause License (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://opensource.org/licenses/BSD-3-Clause + * + * Unless required by applicable law or agreed to in writing, software distributed + * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + */ + +package com.tencent.cloud.rpc.enhancement.plugin; + +import org.springframework.core.Ordered; + +/** + * PluginOrderConstant. + * + * @author sean yu + */ +public class PluginOrderConstant { + + public static class ClientPluginOrder { + /** + * order for + * {@link com.tencent.cloud.polaris.circuitbreaker.reporter.SuccessCircuitBreakerReporter} + * and + * {@link com.tencent.cloud.polaris.circuitbreaker.reporter.ExceptionCircuitBreakerReporter}. + */ + public static final int CONSUMER_REPORTER_PLUGIN_ORDER = Ordered.HIGHEST_PRECEDENCE + 1; + /** + * order for + * {@link com.tencent.cloud.rpc.enhancement.plugin.reporter.SuccessPolarisReporter} + * and + * {@link com.tencent.cloud.rpc.enhancement.plugin.reporter.ExceptionPolarisReporter}. + */ + public static final int CIRCUIT_BREAKER_REPORTER_PLUGIN_ORDER = Ordered.HIGHEST_PRECEDENCE + 2; + /** + * order for + * {@link com.tencent.cloud.rpc.enhancement.plugin.assembly.client.AssemblyClientPreHook} + * and + * {@link com.tencent.cloud.rpc.enhancement.plugin.assembly.client.AssemblyClientPostHook} + * and + * {@link com.tencent.cloud.rpc.enhancement.plugin.assembly.client.AssemblyClientExceptionHook}. + */ + public static final int ASSEMBLY_PLUGIN_ORDER = Ordered.HIGHEST_PRECEDENCE + 3; + } + + public static class ServerPluginOrder { + /** + * order for + * {@link com.tencent.cloud.rpc.enhancement.plugin.assembly.server.AssemblyServerPreHook} + * and + * {@link com.tencent.cloud.rpc.enhancement.plugin.assembly.server.AssemblyServerPostHook} + * and + * {@link com.tencent.cloud.rpc.enhancement.plugin.assembly.server.AssemblyServerExceptionHook}. + */ + public static final int ASSEMBLY_PLUGIN_ORDER = Ordered.HIGHEST_PRECEDENCE + 1; + } +} diff --git a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/assembly/client/AssemblyClientExceptionHook.java b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/assembly/client/AssemblyClientExceptionHook.java index d445d31a0..398485b59 100644 --- a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/assembly/client/AssemblyClientExceptionHook.java +++ b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/assembly/client/AssemblyClientExceptionHook.java @@ -31,7 +31,7 @@ import com.tencent.polaris.assembly.api.AssemblyAPI; import com.tencent.polaris.assembly.api.pojo.AfterRequest; import com.tencent.polaris.assembly.api.pojo.Capability; -import org.springframework.core.Ordered; +import static com.tencent.cloud.rpc.enhancement.plugin.PluginOrderConstant.ClientPluginOrder.ASSEMBLY_PLUGIN_ORDER; /** * AssemblyClientExceptionHook. @@ -77,6 +77,6 @@ public class AssemblyClientExceptionHook implements EnhancedPlugin { @Override public int getOrder() { - return Ordered.HIGHEST_PRECEDENCE + 3; + return ASSEMBLY_PLUGIN_ORDER; } } diff --git a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/assembly/client/AssemblyClientPostHook.java b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/assembly/client/AssemblyClientPostHook.java index 44570c7e4..9148a0de9 100644 --- a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/assembly/client/AssemblyClientPostHook.java +++ b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/assembly/client/AssemblyClientPostHook.java @@ -31,7 +31,7 @@ import com.tencent.polaris.assembly.api.AssemblyAPI; import com.tencent.polaris.assembly.api.pojo.AfterRequest; import com.tencent.polaris.assembly.api.pojo.Capability; -import org.springframework.core.Ordered; +import static com.tencent.cloud.rpc.enhancement.plugin.PluginOrderConstant.ClientPluginOrder.ASSEMBLY_PLUGIN_ORDER; /** * AssemblyClientPostHook. @@ -77,7 +77,7 @@ public class AssemblyClientPostHook implements EnhancedPlugin { @Override public int getOrder() { - return Ordered.HIGHEST_PRECEDENCE + 3; + return ASSEMBLY_PLUGIN_ORDER; } } diff --git a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/assembly/client/AssemblyClientPreHook.java b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/assembly/client/AssemblyClientPreHook.java index 412ee00ac..fde540277 100644 --- a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/assembly/client/AssemblyClientPreHook.java +++ b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/assembly/client/AssemblyClientPreHook.java @@ -28,7 +28,7 @@ import com.tencent.polaris.assembly.api.AssemblyAPI; import com.tencent.polaris.assembly.api.pojo.BeforeRequest; import com.tencent.polaris.assembly.api.pojo.Capability; -import org.springframework.core.Ordered; +import static com.tencent.cloud.rpc.enhancement.plugin.PluginOrderConstant.ClientPluginOrder.ASSEMBLY_PLUGIN_ORDER; /** * AssemblyClientPreHook. @@ -67,7 +67,7 @@ public class AssemblyClientPreHook implements EnhancedPlugin { @Override public int getOrder() { - return Ordered.HIGHEST_PRECEDENCE + 3; + return ASSEMBLY_PLUGIN_ORDER; } } diff --git a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/assembly/server/AssemblyServerExceptionHook.java b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/assembly/server/AssemblyServerExceptionHook.java index 1ce15b4a7..bde03d0d7 100644 --- a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/assembly/server/AssemblyServerExceptionHook.java +++ b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/assembly/server/AssemblyServerExceptionHook.java @@ -30,7 +30,8 @@ import com.tencent.polaris.assembly.api.AssemblyAPI; import com.tencent.polaris.assembly.api.pojo.AfterRequest; import com.tencent.polaris.assembly.api.pojo.Capability; -import org.springframework.core.Ordered; +import static com.tencent.cloud.rpc.enhancement.plugin.PluginOrderConstant.ServerPluginOrder.ASSEMBLY_PLUGIN_ORDER; + /** * AssemblyServerExceptionHook. @@ -69,7 +70,7 @@ public class AssemblyServerExceptionHook implements EnhancedPlugin { @Override public int getOrder() { - return Ordered.HIGHEST_PRECEDENCE + 3; + return ASSEMBLY_PLUGIN_ORDER; } } diff --git a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/assembly/server/AssemblyServerPostHook.java b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/assembly/server/AssemblyServerPostHook.java index 151f51fd6..855994eb1 100644 --- a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/assembly/server/AssemblyServerPostHook.java +++ b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/assembly/server/AssemblyServerPostHook.java @@ -30,7 +30,7 @@ import com.tencent.polaris.assembly.api.AssemblyAPI; import com.tencent.polaris.assembly.api.pojo.AfterRequest; import com.tencent.polaris.assembly.api.pojo.Capability; -import org.springframework.core.Ordered; +import static com.tencent.cloud.rpc.enhancement.plugin.PluginOrderConstant.ServerPluginOrder.ASSEMBLY_PLUGIN_ORDER; /** * AssemblyServerPostHook. @@ -69,7 +69,7 @@ public class AssemblyServerPostHook implements EnhancedPlugin { @Override public int getOrder() { - return Ordered.HIGHEST_PRECEDENCE + 3; + return ASSEMBLY_PLUGIN_ORDER; } } diff --git a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/assembly/server/AssemblyServerPreHook.java b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/assembly/server/AssemblyServerPreHook.java index d90c1882d..5b279b80d 100644 --- a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/assembly/server/AssemblyServerPreHook.java +++ b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/assembly/server/AssemblyServerPreHook.java @@ -28,7 +28,7 @@ import com.tencent.polaris.assembly.api.AssemblyAPI; import com.tencent.polaris.assembly.api.pojo.BeforeRequest; import com.tencent.polaris.assembly.api.pojo.Capability; -import org.springframework.core.Ordered; +import static com.tencent.cloud.rpc.enhancement.plugin.PluginOrderConstant.ServerPluginOrder.ASSEMBLY_PLUGIN_ORDER; /** * AssemblyServerPreHook. @@ -64,7 +64,7 @@ public class AssemblyServerPreHook implements EnhancedPlugin { @Override public int getOrder() { - return Ordered.HIGHEST_PRECEDENCE + 3; + return ASSEMBLY_PLUGIN_ORDER; } } diff --git a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/reporter/ExceptionPolarisReporter.java b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/reporter/ExceptionPolarisReporter.java index 0a21c1e0e..471c9a179 100644 --- a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/reporter/ExceptionPolarisReporter.java +++ b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/reporter/ExceptionPolarisReporter.java @@ -33,7 +33,8 @@ import org.slf4j.LoggerFactory; import org.springframework.cloud.client.DefaultServiceInstance; import org.springframework.cloud.client.ServiceInstance; -import org.springframework.core.Ordered; + +import static com.tencent.cloud.rpc.enhancement.plugin.PluginOrderConstant.ClientPluginOrder.CONSUMER_REPORTER_PLUGIN_ORDER; /** * Polaris reporter when feign call fails. @@ -102,7 +103,7 @@ public class ExceptionPolarisReporter implements EnhancedPlugin { @Override public int getOrder() { - return Ordered.HIGHEST_PRECEDENCE + 1; + return CONSUMER_REPORTER_PLUGIN_ORDER; } } diff --git a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/reporter/SuccessPolarisReporter.java b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/reporter/SuccessPolarisReporter.java index 17a2d4b7b..d4c7d6a1e 100644 --- a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/reporter/SuccessPolarisReporter.java +++ b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/plugin/reporter/SuccessPolarisReporter.java @@ -33,7 +33,8 @@ import org.slf4j.LoggerFactory; import org.springframework.cloud.client.DefaultServiceInstance; import org.springframework.cloud.client.ServiceInstance; -import org.springframework.core.Ordered; + +import static com.tencent.cloud.rpc.enhancement.plugin.PluginOrderConstant.ClientPluginOrder.CONSUMER_REPORTER_PLUGIN_ORDER; /** * Polaris reporter when feign call is successful. @@ -103,6 +104,6 @@ public class SuccessPolarisReporter implements EnhancedPlugin { @Override public int getOrder() { - return Ordered.HIGHEST_PRECEDENCE + 1; + return CONSUMER_REPORTER_PLUGIN_ORDER; } }