diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/pom.xml b/spring-cloud-starter-tencent-polaris-circuitbreaker/pom.xml
index f1c42d41c..20bf4bdf2 100644
--- a/spring-cloud-starter-tencent-polaris-circuitbreaker/pom.xml
+++ b/spring-cloud-starter-tencent-polaris-circuitbreaker/pom.xml
@@ -18,6 +18,7 @@
com.tencent.cloud
spring-cloud-tencent-polaris-loadbalancer
+
com.tencent.cloud
spring-cloud-tencent-rpc-enhancement
diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/config/PolarisCircuitBreakerAutoConfiguration.java b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/config/PolarisCircuitBreakerAutoConfiguration.java
index 3d3da4ef3..cd3f5373f 100644
--- a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/config/PolarisCircuitBreakerAutoConfiguration.java
+++ b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/config/PolarisCircuitBreakerAutoConfiguration.java
@@ -25,7 +25,6 @@ import com.tencent.polaris.factory.config.ConfigurationImpl;
import com.tencent.polaris.plugins.router.healthy.RecoverRouterConfig;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@@ -37,7 +36,6 @@ import org.springframework.context.annotation.Configuration;
@Configuration(proxyBeanMethods = false)
@ConditionalOnPolarisEnabled
@ConditionalOnProperty(value = "spring.cloud.polaris.circuitbreaker.enabled", havingValue = "true", matchIfMissing = true)
-@EnableConfigurationProperties(PolarisCircuitBreakerProperties.class)
public class PolarisCircuitBreakerAutoConfiguration {
@Bean
diff --git a/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-b2/src/main/resources/bootstrap.yml b/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-b2/src/main/resources/bootstrap.yml
index 5ef89145c..228de59a9 100644
--- a/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-b2/src/main/resources/bootstrap.yml
+++ b/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-b2/src/main/resources/bootstrap.yml
@@ -11,3 +11,9 @@ spring:
stat:
enabled: true
port: 28083
+# tencent:
+# rpc-enhancement:
+# enabled: true
+# ignore-internal-server-error: true
+# series: server_error
+# statuses: gateway_timeout, bad_gateway, service_unavailable
\ No newline at end of file
diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/AbstractPolarisCircuitBreakAdapter.java b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/AbstractPolarisReporterAdapter.java
similarity index 76%
rename from spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/AbstractPolarisCircuitBreakAdapter.java
rename to spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/AbstractPolarisReporterAdapter.java
index 42137fe62..d6d7bd282 100644
--- a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/AbstractPolarisCircuitBreakAdapter.java
+++ b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/AbstractPolarisReporterAdapter.java
@@ -15,12 +15,12 @@
* specific language governing permissions and limitations under the License.
*/
-package com.tencent.cloud.polaris.circuitbreaker;
+package com.tencent.cloud.rpc.enhancement;
import java.util.List;
import java.util.Objects;
-import com.tencent.cloud.polaris.circuitbreaker.config.PolarisCircuitBreakerProperties;
+import com.tencent.cloud.rpc.enhancement.config.RpcEnhancementProperties;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -30,22 +30,22 @@ import org.springframework.lang.Nullable;
import static org.springframework.http.HttpStatus.INTERNAL_SERVER_ERROR;
/**
- * Abstract Polaris Circuit-Break Adapter .
+ * Abstract Polaris Reporter Adapter .
*
* @author Elve.Xu 2022-07-11
*/
-public abstract class AbstractPolarisCircuitBreakAdapter {
+public abstract class AbstractPolarisReporterAdapter {
- private static final Logger LOG = LoggerFactory.getLogger(AbstractPolarisCircuitBreakAdapter.class);
+ private static final Logger LOG = LoggerFactory.getLogger(AbstractPolarisReporterAdapter.class);
- protected final PolarisCircuitBreakerProperties properties;
+ protected final RpcEnhancementProperties properties;
/**
- * Constructor With {@link PolarisCircuitBreakerProperties} .
+ * Constructor With {@link RpcEnhancementProperties} .
*
- * @param properties instance of {@link PolarisCircuitBreakerProperties}.
+ * @param properties instance of {@link RpcEnhancementProperties}.
*/
- protected AbstractPolarisCircuitBreakAdapter(PolarisCircuitBreakerProperties properties) {
+ protected AbstractPolarisReporterAdapter(RpcEnhancementProperties properties) {
this.properties = properties;
}
@@ -66,7 +66,7 @@ public abstract class AbstractPolarisCircuitBreakAdapter {
if (status.isEmpty()) {
List series = properties.getSeries();
// Check INTERNAL_SERVER_ERROR (500) status.
- if (properties.getIgnoreInternalServerError() && Objects.equals(httpStatus, INTERNAL_SERVER_ERROR)) {
+ if (properties.isIgnoreInternalServerError() && Objects.equals(httpStatus, INTERNAL_SERVER_ERROR)) {
return false;
}
if (series.isEmpty()) {
diff --git a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/config/RpcEnhancementAutoConfiguration.java b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/config/RpcEnhancementAutoConfiguration.java
index 220d7691d..9f25709c6 100644
--- a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/config/RpcEnhancementAutoConfiguration.java
+++ b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/config/RpcEnhancementAutoConfiguration.java
@@ -33,6 +33,7 @@ import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.annotation.Order;
@@ -48,6 +49,7 @@ import static org.springframework.core.Ordered.HIGHEST_PRECEDENCE;
*/
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(value = "spring.cloud.tencent.rpc-enhancement.enabled", havingValue = "true", matchIfMissing = true)
+@EnableConfigurationProperties(RpcEnhancementProperties.class)
@AutoConfigureAfter(PolarisContextAutoConfiguration.class)
public class RpcEnhancementAutoConfiguration {
@@ -73,8 +75,8 @@ public class RpcEnhancementAutoConfiguration {
static class PolarisReporterConfig {
@Bean
- public SuccessPolarisReporter successPolarisReporter() {
- return new SuccessPolarisReporter();
+ public SuccessPolarisReporter successPolarisReporter(RpcEnhancementProperties properties) {
+ return new SuccessPolarisReporter(properties);
}
@Bean
@@ -96,8 +98,9 @@ public class RpcEnhancementAutoConfiguration {
@Bean
public EnhancedRestTemplateReporter polarisRestTemplateResponseErrorHandler(
+ RpcEnhancementProperties properties,
ConsumerAPI consumerAPI) {
- return new EnhancedRestTemplateReporter(consumerAPI);
+ return new EnhancedRestTemplateReporter(properties, consumerAPI);
}
@Bean
diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/config/PolarisCircuitBreakerProperties.java b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/config/RpcEnhancementProperties.java
similarity index 85%
rename from spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/config/PolarisCircuitBreakerProperties.java
rename to spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/config/RpcEnhancementProperties.java
index a47ad20a7..4ad107bb7 100644
--- a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/config/PolarisCircuitBreakerProperties.java
+++ b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/config/RpcEnhancementProperties.java
@@ -15,7 +15,7 @@
* specific language governing permissions and limitations under the License.
*/
-package com.tencent.cloud.polaris.circuitbreaker.config;
+package com.tencent.cloud.rpc.enhancement.config;
import java.util.ArrayList;
import java.util.Arrays;
@@ -41,13 +41,13 @@ import static org.springframework.http.HttpStatus.VARIANT_ALSO_NEGOTIATES;
*
* @author Elve.Xu 2022-07-08
*/
-@ConfigurationProperties("spring.cloud.polaris.circuitbreaker")
-public class PolarisCircuitBreakerProperties {
+@ConfigurationProperties("spring.cloud.tencent.rpc-enhancement")
+public class RpcEnhancementProperties {
/**
* If circuit-breaker enabled.
*/
- private Boolean enabled = true;
+ private boolean enabled = true;
/**
* Specify the Http status code(s) that needs to be fused.
@@ -63,9 +63,9 @@ public class PolarisCircuitBreakerProperties {
/**
* Ignore Internal Server Error Http Status Code,
- * Only takes effect if the attribute {@link PolarisCircuitBreakerProperties#series} is not empty.
+ * Only takes effect if the attribute {@link RpcEnhancementProperties#series} is not empty.
*/
- private Boolean ignoreInternalServerError = true;
+ private boolean ignoreInternalServerError = true;
/**
* Convert items to List.
@@ -79,13 +79,6 @@ public class PolarisCircuitBreakerProperties {
return new ArrayList<>(Arrays.asList(items));
}
- public Boolean getEnabled() {
- return enabled;
- }
-
- public void setEnabled(Boolean enabled) {
- this.enabled = enabled;
- }
public List getStatuses() {
return statuses;
@@ -103,11 +96,19 @@ public class PolarisCircuitBreakerProperties {
this.series = series;
}
- public Boolean getIgnoreInternalServerError() {
+ public boolean isEnabled() {
+ return enabled;
+ }
+
+ public void setEnabled(boolean enabled) {
+ this.enabled = enabled;
+ }
+
+ public boolean isIgnoreInternalServerError() {
return ignoreInternalServerError;
}
- public void setIgnoreInternalServerError(Boolean ignoreInternalServerError) {
+ public void setIgnoreInternalServerError(boolean ignoreInternalServerError) {
this.ignoreInternalServerError = ignoreInternalServerError;
}
}
diff --git a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/feign/plugin/reporter/SuccessPolarisReporter.java b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/feign/plugin/reporter/SuccessPolarisReporter.java
index 332711eab..e2bb22b32 100644
--- a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/feign/plugin/reporter/SuccessPolarisReporter.java
+++ b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/feign/plugin/reporter/SuccessPolarisReporter.java
@@ -17,6 +17,8 @@
package com.tencent.cloud.rpc.enhancement.feign.plugin.reporter;
+import com.tencent.cloud.rpc.enhancement.AbstractPolarisReporterAdapter;
+import com.tencent.cloud.rpc.enhancement.config.RpcEnhancementProperties;
import com.tencent.cloud.rpc.enhancement.feign.plugin.EnhancedFeignContext;
import com.tencent.cloud.rpc.enhancement.feign.plugin.EnhancedFeignPlugin;
import com.tencent.cloud.rpc.enhancement.feign.plugin.EnhancedFeignPluginType;
@@ -30,16 +32,21 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.Ordered;
+import org.springframework.http.HttpStatus;
/**
* Polaris reporter when feign call is successful.
*
* @author Haotian Zhang
*/
-public class SuccessPolarisReporter implements EnhancedFeignPlugin {
+public class SuccessPolarisReporter extends AbstractPolarisReporterAdapter implements EnhancedFeignPlugin {
private static final Logger LOG = LoggerFactory.getLogger(SuccessPolarisReporter.class);
+ public SuccessPolarisReporter(RpcEnhancementProperties properties) {
+ super(properties);
+ }
+
@Autowired(required = false)
private ConsumerAPI consumerAPI;
@@ -59,7 +66,7 @@ public class SuccessPolarisReporter implements EnhancedFeignPlugin {
Request request = context.getRequest();
Response response = context.getResponse();
RetStatus retStatus = RetStatus.RetSuccess;
- if (response.status() > 500) {
+ if (apply(HttpStatus.resolve(response.status()))) {
retStatus = RetStatus.RetFail;
}
LOG.debug("Will report result of {}. Request=[{}]. Response=[{}].", retStatus.name(), request, response);
diff --git a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/resttemplate/EnhancedRestTemplateReporter.java b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/resttemplate/EnhancedRestTemplateReporter.java
index 0113ff498..a6d2ea234 100644
--- a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/resttemplate/EnhancedRestTemplateReporter.java
+++ b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/resttemplate/EnhancedRestTemplateReporter.java
@@ -24,6 +24,8 @@ import java.net.URL;
import com.tencent.cloud.common.metadata.MetadataContext;
import com.tencent.cloud.common.util.ReflectionUtils;
+import com.tencent.cloud.rpc.enhancement.AbstractPolarisReporterAdapter;
+import com.tencent.cloud.rpc.enhancement.config.RpcEnhancementProperties;
import com.tencent.polaris.api.core.ConsumerAPI;
import com.tencent.polaris.api.pojo.RetStatus;
import com.tencent.polaris.api.pojo.ServiceKey;
@@ -42,7 +44,7 @@ import org.springframework.web.client.ResponseErrorHandler;
*
* @author wh 2022/6/21
*/
-public class EnhancedRestTemplateReporter implements ResponseErrorHandler {
+public class EnhancedRestTemplateReporter extends AbstractPolarisReporterAdapter implements ResponseErrorHandler {
private static final Logger LOG = LoggerFactory.getLogger(EnhancedRestTemplateReporter.class);
@@ -50,7 +52,8 @@ public class EnhancedRestTemplateReporter implements ResponseErrorHandler {
private final ConsumerAPI consumerAPI;
- public EnhancedRestTemplateReporter(ConsumerAPI consumerAPI) {
+ public EnhancedRestTemplateReporter(RpcEnhancementProperties properties, ConsumerAPI consumerAPI) {
+ super(properties);
this.consumerAPI = consumerAPI;
}
@@ -61,7 +64,6 @@ public class EnhancedRestTemplateReporter implements ResponseErrorHandler {
@Override
public void handleError(@NonNull ClientHttpResponse response) {
-
}
@Override
@@ -76,7 +78,7 @@ public class EnhancedRestTemplateReporter implements ResponseErrorHandler {
resultRequest.setPort(realURL.getPort());
}
- if (response.getStatusCode().value() > 500) {
+ if (apply(response.getStatusCode())) {
resultRequest.setRetStatus(RetStatus.RetFail);
}
}
diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/AbstractPolarisCircuitBreakAdapterTest.java b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/AbstractPolarisReporterAdapterTest.java
similarity index 68%
rename from spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/AbstractPolarisCircuitBreakAdapterTest.java
rename to spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/AbstractPolarisReporterAdapterTest.java
index 0775c8313..ddcbb73cb 100644
--- a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/AbstractPolarisCircuitBreakAdapterTest.java
+++ b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/AbstractPolarisReporterAdapterTest.java
@@ -15,27 +15,26 @@
* specific language governing permissions and limitations under the License.
*/
-package com.tencent.cloud.polaris.circuitbreaker;
+package com.tencent.cloud.rpc.enhancement;
-import com.tencent.cloud.polaris.circuitbreaker.config.PolarisCircuitBreakerProperties;
+import com.tencent.cloud.rpc.enhancement.config.RpcEnhancementProperties;
import org.assertj.core.api.Assertions;
import org.junit.Test;
import org.springframework.http.HttpStatus;
/**
- * Test For {@link AbstractPolarisCircuitBreakAdapter}.
+ * Test For {@link AbstractPolarisReporterAdapter}.
*
- * @author Elve.Xu
- * @version ${project.version} - 2022/7/11
+ * @author Elve.Xu 2022/7/11
*/
-public class AbstractPolarisCircuitBreakAdapterTest {
+public class AbstractPolarisReporterAdapterTest {
@Test
public void testApplyWithDefaultConfig() {
- PolarisCircuitBreakerProperties properties = new PolarisCircuitBreakerProperties();
+ RpcEnhancementProperties properties = new RpcEnhancementProperties();
// Mock Condition
- SimplePolarisCircuitBreakAdapter adapter = new SimplePolarisCircuitBreakAdapter(properties);
+ SimplePolarisReporterAdapter adapter = new SimplePolarisReporterAdapter(properties);
// Assert
Assertions.assertThat(adapter.apply(HttpStatus.OK)).isEqualTo(false);
@@ -45,12 +44,12 @@ public class AbstractPolarisCircuitBreakAdapterTest {
@Test
public void testApplyWithoutIgnoreInternalServerError() {
- PolarisCircuitBreakerProperties properties = new PolarisCircuitBreakerProperties();
+ RpcEnhancementProperties properties = new RpcEnhancementProperties();
// Mock Condition
properties.getStatuses().clear();
properties.setIgnoreInternalServerError(false);
- SimplePolarisCircuitBreakAdapter adapter = new SimplePolarisCircuitBreakAdapter(properties);
+ SimplePolarisReporterAdapter adapter = new SimplePolarisReporterAdapter(properties);
// Assert
Assertions.assertThat(adapter.apply(HttpStatus.OK)).isEqualTo(false);
@@ -60,12 +59,12 @@ public class AbstractPolarisCircuitBreakAdapterTest {
@Test
public void testApplyWithIgnoreInternalServerError() {
- PolarisCircuitBreakerProperties properties = new PolarisCircuitBreakerProperties();
+ RpcEnhancementProperties properties = new RpcEnhancementProperties();
// Mock Condition
properties.getStatuses().clear();
properties.setIgnoreInternalServerError(true);
- SimplePolarisCircuitBreakAdapter adapter = new SimplePolarisCircuitBreakAdapter(properties);
+ SimplePolarisReporterAdapter adapter = new SimplePolarisReporterAdapter(properties);
// Assert
Assertions.assertThat(adapter.apply(HttpStatus.OK)).isEqualTo(false);
@@ -75,12 +74,12 @@ public class AbstractPolarisCircuitBreakAdapterTest {
@Test
public void testApplyWithoutSeries() {
- PolarisCircuitBreakerProperties properties = new PolarisCircuitBreakerProperties();
+ RpcEnhancementProperties properties = new RpcEnhancementProperties();
// Mock Condition
properties.getStatuses().clear();
properties.getSeries().clear();
- SimplePolarisCircuitBreakAdapter adapter = new SimplePolarisCircuitBreakAdapter(properties);
+ SimplePolarisReporterAdapter adapter = new SimplePolarisReporterAdapter(properties);
// Assert
Assertions.assertThat(adapter.apply(HttpStatus.OK)).isEqualTo(false);
@@ -90,13 +89,13 @@ public class AbstractPolarisCircuitBreakAdapterTest {
@Test
public void testApplyWithSeries() {
- PolarisCircuitBreakerProperties properties = new PolarisCircuitBreakerProperties();
+ RpcEnhancementProperties properties = new RpcEnhancementProperties();
// Mock Condition
properties.getStatuses().clear();
properties.getSeries().clear();
properties.getSeries().add(HttpStatus.Series.CLIENT_ERROR);
- SimplePolarisCircuitBreakAdapter adapter = new SimplePolarisCircuitBreakAdapter(properties);
+ SimplePolarisReporterAdapter adapter = new SimplePolarisReporterAdapter(properties);
// Assert
Assertions.assertThat(adapter.apply(HttpStatus.OK)).isEqualTo(false);
@@ -108,9 +107,9 @@ public class AbstractPolarisCircuitBreakAdapterTest {
/**
* Simple Polaris CircuitBreak Adapter Implements .
*/
- public static class SimplePolarisCircuitBreakAdapter extends AbstractPolarisCircuitBreakAdapter {
+ public static class SimplePolarisReporterAdapter extends AbstractPolarisReporterAdapter {
- public SimplePolarisCircuitBreakAdapter(PolarisCircuitBreakerProperties properties) {
+ public SimplePolarisReporterAdapter(RpcEnhancementProperties properties) {
super(properties);
}
}
diff --git a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/feign/plugin/reporter/SuccessPolarisReporterTest.java b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/feign/plugin/reporter/SuccessPolarisReporterTest.java
index cdcc594f2..b3e28a5ca 100644
--- a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/feign/plugin/reporter/SuccessPolarisReporterTest.java
+++ b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/feign/plugin/reporter/SuccessPolarisReporterTest.java
@@ -43,7 +43,7 @@ import static org.mockito.Mockito.mock;
*
* @author Haotian Zhang
*/
-@RunWith(MockitoJUnitRunner.class)
+@RunWith(MockitoJUnitRunner.Silent.class)
public class SuccessPolarisReporterTest {
private static MockedStatic mockedReporterUtils;
diff --git a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/resttemplate/EnhancedRestTemplateReporterTest.java b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/resttemplate/EnhancedRestTemplateReporterTest.java
index dc8a96c8f..20d7eebc2 100644
--- a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/resttemplate/EnhancedRestTemplateReporterTest.java
+++ b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/resttemplate/EnhancedRestTemplateReporterTest.java
@@ -22,6 +22,7 @@ import java.net.HttpURLConnection;
import java.net.URI;
import java.net.URL;
+import com.tencent.cloud.rpc.enhancement.config.RpcEnhancementProperties;
import com.tencent.polaris.api.core.ConsumerAPI;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -47,7 +48,8 @@ public class EnhancedRestTemplateReporterTest {
@Test
public void handleError() throws Exception {
ConsumerAPI consumerAPI = mock(ConsumerAPI.class);
- EnhancedRestTemplateReporter enhancedRestTemplateReporter = new EnhancedRestTemplateReporter(consumerAPI);
+ EnhancedRestTemplateReporter enhancedRestTemplateReporter =
+ new EnhancedRestTemplateReporter(mock(RpcEnhancementProperties.class), consumerAPI);
URI uri = mock(URI.class);
when(uri.getPath()).thenReturn("/test");
when(uri.getHost()).thenReturn("host");