diff --git a/spring-cloud-alibaba-dependencies/pom.xml b/spring-cloud-alibaba-dependencies/pom.xml
index 62e2c443..4abfc39f 100644
--- a/spring-cloud-alibaba-dependencies/pom.xml
+++ b/spring-cloud-alibaba-dependencies/pom.xml
@@ -127,6 +127,18 @@
sentinel-dubbo-api
${project.version}
+
+ com.alibaba.csp
+ sentinel-cluster-server-default
+ ${sentinel.version}
+
+
+ com.alibaba.csp
+ sentinel-cluster-client-default
+ ${sentinel.version}
+
+
+
org.apache.rocketmq
rocketmq-client
diff --git a/spring-cloud-alibaba-sentinel/pom.xml b/spring-cloud-alibaba-sentinel/pom.xml
index dba86dfb..e3b46726 100644
--- a/spring-cloud-alibaba-sentinel/pom.xml
+++ b/spring-cloud-alibaba-sentinel/pom.xml
@@ -35,6 +35,16 @@
sentinel-dubbo-adapter
+
+ com.alibaba.csp
+ sentinel-cluster-server-default
+
+
+
+ com.alibaba.csp
+ sentinel-cluster-client-default
+
+
org.springframework.cloud
spring-cloud-starter-openfeign
diff --git a/spring-cloud-alibaba-sentinel/src/main/java/org/springframework/cloud/alibaba/sentinel/rest/SentinelClientHttpResponse.java b/spring-cloud-alibaba-sentinel/src/main/java/org/springframework/cloud/alibaba/sentinel/rest/SentinelClientHttpResponse.java
index 76e4a3b8..76d6d715 100644
--- a/spring-cloud-alibaba-sentinel/src/main/java/org/springframework/cloud/alibaba/sentinel/rest/SentinelClientHttpResponse.java
+++ b/spring-cloud-alibaba-sentinel/src/main/java/org/springframework/cloud/alibaba/sentinel/rest/SentinelClientHttpResponse.java
@@ -16,6 +16,13 @@
package org.springframework.cloud.alibaba.sentinel.rest;
+import org.springframework.cloud.alibaba.sentinel.annotation.SentinelRestTemplate;
+import org.springframework.cloud.alibaba.sentinel.custom.SentinelProtectInterceptor;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.MediaType;
+import org.springframework.http.client.AbstractClientHttpResponse;
+
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
@@ -24,48 +31,50 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import org.springframework.cloud.alibaba.sentinel.annotation.SentinelRestTemplate;
-import org.springframework.cloud.alibaba.sentinel.custom.SentinelProtectInterceptor;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.MediaType;
-import org.springframework.http.client.AbstractClientHttpResponse;
-
/**
* Using by {@link SentinelRestTemplate} and {@link SentinelProtectInterceptor}
+ *
* @author Jim
*/
public class SentinelClientHttpResponse extends AbstractClientHttpResponse {
- private final String BLOCK_STR = "RestTemplate request block by sentinel";
+ private String blockResponse = "RestTemplate request block by sentinel";
- @Override
- public int getRawStatusCode() throws IOException {
- return HttpStatus.OK.value();
- }
+ public SentinelClientHttpResponse() {
- @Override
- public String getStatusText() throws IOException {
- return BLOCK_STR;
- }
+ }
- @Override
- public void close() {
- // nothing do
- }
+ public SentinelClientHttpResponse(String blockResponse) {
+ this.blockResponse = blockResponse;
+ }
- @Override
- public InputStream getBody() throws IOException {
- return new ByteArrayInputStream(BLOCK_STR.getBytes());
- }
+ @Override
+ public int getRawStatusCode() throws IOException {
+ return HttpStatus.OK.value();
+ }
- @Override
- public HttpHeaders getHeaders() {
- Map> headers = new HashMap<>();
- headers.put(HttpHeaders.CONTENT_TYPE,
- Arrays.asList(MediaType.APPLICATION_JSON_UTF8_VALUE));
- HttpHeaders httpHeaders = new HttpHeaders();
- httpHeaders.putAll(headers);
- return httpHeaders;
- }
+ @Override
+ public String getStatusText() throws IOException {
+ return blockResponse;
+ }
+
+ @Override
+ public void close() {
+ // nothing do
+ }
+
+ @Override
+ public InputStream getBody() throws IOException {
+ return new ByteArrayInputStream(blockResponse.getBytes());
+ }
+
+ @Override
+ public HttpHeaders getHeaders() {
+ Map> headers = new HashMap<>();
+ headers.put(HttpHeaders.CONTENT_TYPE,
+ Arrays.asList(MediaType.APPLICATION_JSON_UTF8_VALUE));
+ HttpHeaders httpHeaders = new HttpHeaders();
+ httpHeaders.putAll(headers);
+ return httpHeaders;
+ }
}