diff --git a/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/consumer/pom.xml b/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/consumer/pom.xml
index 22d8a315..6021d1d0 100644
--- a/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/consumer/pom.xml
+++ b/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/consumer/pom.xml
@@ -60,6 +60,30 @@
org.springframework.boot
spring-boot-starter-actuator
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+ org.springframework.boot
+ spring-boot-starter-webflux
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-openfeign
+
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-loadbalancer
+
diff --git a/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/consumer/src/main/java/cn/polarismesh/agent/examples/alibaba/cloud/cloud/ConsumerApplication.java b/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/consumer/src/main/java/cn/polarismesh/agent/examples/alibaba/cloud/cloud/ConsumerApplication.java
index adadfa58..117b5593 100644
--- a/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/consumer/src/main/java/cn/polarismesh/agent/examples/alibaba/cloud/cloud/ConsumerApplication.java
+++ b/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/consumer/src/main/java/cn/polarismesh/agent/examples/alibaba/cloud/cloud/ConsumerApplication.java
@@ -17,15 +17,22 @@
package cn.polarismesh.agent.examples.alibaba.cloud.cloud;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.client.circuitbreaker.CircuitBreakerFactory;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
+import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.context.annotation.Bean;
import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;
+import org.springframework.web.util.DefaultUriBuilderFactory;
+
/**
* @author liaochuntao
@@ -52,14 +59,67 @@ public EchoController(RestTemplate restTemplate) {
this.template = restTemplate;
}
+ @Autowired
+ @Qualifier("defaultRestTemplate")
+ private RestTemplate defaultRestTemplate;
+
+ @Autowired
+ private CircuitBreakerFactory circuitBreakerFactory;
+
+ @Bean
+ @LoadBalanced
+ public RestTemplate defaultRestTemplate() {
+ DefaultUriBuilderFactory uriBuilderFactory = new DefaultUriBuilderFactory("http://service-provider-hoxton");
+ RestTemplate restTemplate = new RestTemplate();
+ restTemplate.setUriTemplateHandler(uriBuilderFactory);
+ return restTemplate;
+ }
+
+ @GetMapping("/rest")
+ public String circuitBreakRestTemplate() {
+ return circuitBreakerFactory
+ .create("service-provider-hoxton#/circuitBreak")
+ .run(() -> defaultRestTemplate.getForObject("/circuitBreak", String.class),
+ throwable -> "trigger the refuse for service callee."
+ );
+ }
+
@GetMapping("/echo/{str}")
public ResponseEntity rest(@PathVariable String str) {
ResponseEntity response = template.getForEntity("http://service-provider-hoxton/echo/" + str,
String.class);
return response;
}
+ }
+ @FeignClient(name = "service-provider-hoxton", contextId = "fallback-from-polaris")
+ public interface CircuitBreakerQuickstartCalleeService {
+ /**
+ * Check circuit break.
+ *
+ * @return circuit break info
+ */
+ @GetMapping("/circuitBreak")
+ String circuitBreak();
+ }
+ @Component
+ public class CircuitBreakerQuickstartCalleeServiceFallback implements CircuitBreakerQuickstartCalleeServiceWithFallback {
+ @Override
+ public String circuitBreak() {
+ return "fallback: trigger the refuse for service callee.";
+ }
}
+ @FeignClient(name = "service-provider-hoxton", contextId = "fallback-from-code", fallback = CircuitBreakerQuickstartCalleeServiceFallback.class)
+ public interface CircuitBreakerQuickstartCalleeServiceWithFallback {
+
+ /**
+ * Check circuit break.
+ *
+ * @return circuit break info
+ */
+ @GetMapping("/circuitBreak")
+ String circuitBreak();
+ }
}
diff --git a/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/pom.xml b/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/pom.xml
index 4718b9ab..506bbb75 100644
--- a/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/pom.xml
+++ b/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/pom.xml
@@ -13,7 +13,8 @@
hoxton-quickstart-examples
pom
- provider
+ provider-b
+ provider-a
consumer
scg
diff --git a/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider/Dockerfile b/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider-a/Dockerfile
similarity index 100%
rename from polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider/Dockerfile
rename to polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider-a/Dockerfile
diff --git a/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider/deployment.yaml b/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider-a/deployment.yaml
similarity index 82%
rename from polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider/deployment.yaml
rename to polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider-a/deployment.yaml
index ea4fd097..4ff0122f 100644
--- a/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider/deployment.yaml
+++ b/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider-a/deployment.yaml
@@ -3,18 +3,18 @@ apiVersion: apps/v1
kind: Deployment
metadata:
labels:
- app: service-provider-hoxton
- name: service-provider-hoxton
+ app: service-provider-hoxton-a
+ name: service-provider-hoxton-a
namespace: default
spec:
replicas: 1
selector:
matchLabels:
- app: service-provider-hoxton
+ app: service-provider-hoxton-a
template:
metadata:
labels:
- app: service-provider-hoxton
+ app: service-provider-hoxton-a
annotations:
polarismesh.cn/javaagent: "true"
polarismesh.cn/javaagentVersion: "1.7.0-RC2"
@@ -22,7 +22,7 @@ spec:
polarismesh.cn/javaagentFrameworkVersion: "hoxton"
spec:
containers:
- - image: polarismesh/polaris-javaagent-demo-sc-quickstart-hoxton-provider:1.7.0-java8
+ - image: polarismesh/polaris-javaagent-demo-sc-quickstart-hoxton-provider-a:1.7.0-java8
imagePullPolicy: Always
name: provider
resources:
@@ -34,7 +34,7 @@ spec:
command:
- /bin/bash
- -c
- - cd /app && java -Dserver.port=65101 -jar main.jar
+ - cd /app && java -Dserver.port=65001 -jar main.jar
lifecycle:
preStop:
exec:
diff --git a/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider/pom.xml b/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider-a/pom.xml
similarity index 72%
rename from polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider/pom.xml
rename to polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider-a/pom.xml
index 3d03c62d..08eb4986 100644
--- a/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider/pom.xml
+++ b/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider-a/pom.xml
@@ -11,11 +11,11 @@
4.0.0
com.tencent.polaris
- polaris-javaagent-demo-sc-quickstart-hoxton-provider
+ polaris-javaagent-demo-sc-quickstart-hoxton-provider-a
jar
1.7.0
- hoxton-provider
+ hoxton-provider-a
Demo Provider Project For Spring Cloud Alibaba
@@ -56,6 +56,36 @@
spring-cloud-starter-alibaba-nacos-config
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+ org.springframework.boot
+ spring-boot-starter-webflux
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-openfeign
+
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-loadbalancer
+
+
org.springframework.boot
spring-boot-starter-actuator
diff --git a/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider/src/main/java/cn/polarismesh/agent/examples/alibaba/cloud/cloud/ProviderApplication.java b/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider-a/src/main/java/cn/polarismesh/agent/examples/alibaba/cloud/cloud/ProviderApplication.java
similarity index 81%
rename from polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider/src/main/java/cn/polarismesh/agent/examples/alibaba/cloud/cloud/ProviderApplication.java
rename to polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider-a/src/main/java/cn/polarismesh/agent/examples/alibaba/cloud/cloud/ProviderApplication.java
index cdf1934c..4acb29e9 100644
--- a/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider/src/main/java/cn/polarismesh/agent/examples/alibaba/cloud/cloud/ProviderApplication.java
+++ b/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider-a/src/main/java/cn/polarismesh/agent/examples/alibaba/cloud/cloud/ProviderApplication.java
@@ -18,6 +18,8 @@
package cn.polarismesh.agent.examples.alibaba.cloud.cloud;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@@ -43,13 +45,23 @@ public static void main(String[] args) {
@RestController
public static class EchoController {
+ private static final Logger LOG = LoggerFactory.getLogger(ProviderApplication.class);
+
@Value("${name:}")
private String name;
-
@Value("${server.port}")
private String port;
+ @Value("${spring.cloud.client.ip-address:127.0.0.1}")
+ private String ip;
+
+ @GetMapping("/circuitBreak")
+ public String circuitBreak() {
+ LOG.info("Quickstart Callee Service [{}:{}] is called right.", ip, port);
+ return String.format("Quickstart Callee Service [%s:%s] is called right.", ip, port);
+ }
+
@GetMapping("/echo/{string}")
public String echo(@PathVariable String string) {
return "Hello, I'm provider, receive msg : "
diff --git a/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider/src/main/resources/application.properties b/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider-a/src/main/resources/application.properties
similarity index 77%
rename from polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider/src/main/resources/application.properties
rename to polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider-a/src/main/resources/application.properties
index 4941df69..42b40fef 100644
--- a/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider/src/main/resources/application.properties
+++ b/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider-a/src/main/resources/application.properties
@@ -1,5 +1,5 @@
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
-spring.cloud.nacos.discovery.enabled=true
+spring.cloud.nacos.discovery.enabled=false
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always
\ No newline at end of file
diff --git a/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider/src/main/resources/bootstrap.properties b/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider-a/src/main/resources/bootstrap.properties
similarity index 56%
rename from polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider/src/main/resources/bootstrap.properties
rename to polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider-a/src/main/resources/bootstrap.properties
index 53c1d73d..12871448 100644
--- a/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider/src/main/resources/bootstrap.properties
+++ b/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider-a/src/main/resources/bootstrap.properties
@@ -1,6 +1,7 @@
server.port=65001
spring.application.name=service-provider-hoxton
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
-spring.cloud.nacos.config.enabled=true
+spring.cloud.nacos.config.enabled=false
+spring.cloud.nacos.discovery.enabled=false
spring.cloud.nacos.username=nacos
-spring.cloud.nacos.password=nacos
\ No newline at end of file
+spring.cloud.nacos.password=nacos
diff --git a/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider-b/Dockerfile b/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider-b/Dockerfile
new file mode 100644
index 00000000..e4da5f69
--- /dev/null
+++ b/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider-b/Dockerfile
@@ -0,0 +1,29 @@
+FROM alpine:3.19.1
+
+ARG file_name
+ARG java_version
+
+COPY ./target/${file_name} /app/main.jar
+
+WORKDIR /app
+
+RUN sed -i 's!http://dl-cdn.alpinelinux.org/!https://mirrors.tencent.com/!g' /etc/apk/repositories
+
+RUN set -eux && \
+ apk add openjdk${java_version} && \
+ apk add bind-tools && \
+ apk add busybox-extras && \
+ apk add findutils && \
+ apk add tcpdump && \
+ apk add tzdata && \
+ apk add curl && \
+ apk add bash && \
+ cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
+ echo "Asia/Shanghai" > /etc/timezone && \
+ date
+
+RUN chmod 777 /app/
+
+RUN ls -la /app/
+
+ENTRYPOINT ["java", "-jar", "/app/main.jar"]
\ No newline at end of file
diff --git a/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider-b/deployment.yaml b/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider-b/deployment.yaml
new file mode 100644
index 00000000..7e37d2e8
--- /dev/null
+++ b/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider-b/deployment.yaml
@@ -0,0 +1,48 @@
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ labels:
+ app: service-provider-hoxton-b
+ name: service-provider-hoxton-b
+ namespace: default
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app: service-provider-hoxton-b
+ template:
+ metadata:
+ labels:
+ app: service-provider-hoxton-b
+ annotations:
+ polarismesh.cn/javaagent: "true"
+ polarismesh.cn/javaagentVersion: "1.7.0-RC2"
+ polarismesh.cn/javaagentFrameworkName: "spring-cloud"
+ polarismesh.cn/javaagentFrameworkVersion: "hoxton"
+ spec:
+ containers:
+ - image: polarismesh/polaris-javaagent-demo-sc-quickstart-hoxton-provider-b:1.7.0-java8
+ imagePullPolicy: Always
+ name: provider
+ resources:
+ limits:
+ cpu: "500m"
+ memory: 1000Mi
+ terminationMessagePath: /dev/termination-log
+ terminationMessagePolicy: File
+ command:
+ - /bin/bash
+ - -c
+ - cd /app && java -Dserver.port=65004 -jar main.jar
+ lifecycle:
+ preStop:
+ exec:
+ command: ["curl","-X","PUT","http://127.0.0.1:28080/offline","&&","sleep","30"]
+ readinessProbe:
+ httpGet:
+ path: /online
+ port: 28080
+ initialDelaySeconds: 3
+ periodSeconds: 3
+ restartPolicy: Always
\ No newline at end of file
diff --git a/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider-b/pom.xml b/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider-b/pom.xml
new file mode 100644
index 00000000..95978d09
--- /dev/null
+++ b/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider-b/pom.xml
@@ -0,0 +1,115 @@
+
+
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 2.3.7.RELEASE
+
+
+ 4.0.0
+
+ com.tencent.polaris
+ polaris-javaagent-demo-sc-quickstart-hoxton-provider-b
+ jar
+ 1.7.0
+
+ hoxton-provider-b
+ Demo Provider Project For Spring Cloud Alibaba
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-alibaba-dependencies
+ 2.2.10-RC2
+ pom
+ import
+
+
+
+ org.springframework.cloud
+ spring-cloud-dependencies
+ Hoxton.SR12
+ pom
+ import
+
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-discovery
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-config
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+ org.springframework.boot
+ spring-boot-starter-webflux
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-openfeign
+
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-loadbalancer
+
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+ true
+
+
+
+
+ repackage
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider-b/src/main/java/cn/polarismesh/agent/examples/alibaba/cloud/cloud/ProviderApplication.java b/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider-b/src/main/java/cn/polarismesh/agent/examples/alibaba/cloud/cloud/ProviderApplication.java
new file mode 100644
index 00000000..6efa0531
--- /dev/null
+++ b/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider-b/src/main/java/cn/polarismesh/agent/examples/alibaba/cloud/cloud/ProviderApplication.java
@@ -0,0 +1,80 @@
+/*
+ * Tencent is pleased to support the open source community by making Polaris 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 cn.polarismesh.agent.examples.alibaba.cloud.cloud;
+
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+import org.springframework.cloud.client.serviceregistry.Registration;
+import org.springframework.cloud.context.config.annotation.RefreshScope;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author liaochuntao
+ */
+@EnableDiscoveryClient
+@SpringBootApplication
+public class ProviderApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(ProviderApplication.class, args);
+ }
+
+ // @RefreshScope
+ @RestController
+ public static class EchoController {
+
+ private static final Logger LOG = LoggerFactory.getLogger(ProviderApplication.class);
+
+ @Value("${name:}")
+ private String name;
+
+ @Value("${server.port}")
+ private String port;
+
+ @Value("${spring.cloud.client.ip-address:127.0.0.1}")
+ private String ip;
+
+ @GetMapping("/circuitBreak")
+ public ResponseEntity circuitBreak() throws InterruptedException {
+ LOG.info("Quickstart Callee Service [{}:{}] is called wrong.", ip, port);
+ return new ResponseEntity<>("failed for call quickstart callee service.", HttpStatus.BAD_GATEWAY);
+ }
+
+ @GetMapping("/echo/{string}")
+ public String echo(@PathVariable String string) {
+ return "Hello, I'm provider, receive msg : "
+ + string
+ + ", my metadata : "
+ + " name config : "
+ + name
+ + " "
+ + port;
+ }
+
+ }
+
+}
\ No newline at end of file
diff --git a/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider-b/src/main/resources/application.properties b/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider-b/src/main/resources/application.properties
new file mode 100644
index 00000000..42b40fef
--- /dev/null
+++ b/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider-b/src/main/resources/application.properties
@@ -0,0 +1,5 @@
+spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
+spring.cloud.nacos.discovery.enabled=false
+
+management.endpoints.web.exposure.include=*
+management.endpoint.health.show-details=always
\ No newline at end of file
diff --git a/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider-b/src/main/resources/bootstrap.properties b/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider-b/src/main/resources/bootstrap.properties
new file mode 100644
index 00000000..8c4c0863
--- /dev/null
+++ b/polaris-agent-examples/spring-cloud-plugins-examples/spring-cloud-hoxton-examples/quickstart-examples/provider-b/src/main/resources/bootstrap.properties
@@ -0,0 +1,7 @@
+server.port=65004
+spring.application.name=service-provider-hoxton
+spring.cloud.nacos.config.server-addr=127.0.0.1:8848
+spring.cloud.nacos.config.enabled=false
+spring.cloud.nacos.discovery.enabled=false
+spring.cloud.nacos.username=nacos
+spring.cloud.nacos.password=nacos