You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by li...@apache.org on 2021/06/17 15:06:15 UTC
[servicecomb-java-chassis] branch master updated:
[SCB-2281]governance match support multiple items (#2421)
This is an automated email from the ASF dual-hosted git repository.
liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git
The following commit(s) were added to refs/heads/master by this push:
new 4279e58 [SCB-2281]governance match support multiple items (#2421)
4279e58 is described below
commit 4279e58375323e0d88bd02242b92d2ebbeea10c4
Author: liubao68 <bi...@qq.com>
AuthorDate: Thu Jun 17 23:06:08 2021 +0800
[SCB-2281]governance match support multiple items (#2421)
---
.../java/org/apache/servicecomb/governance/marker/Matcher.java | 10 ++++++++++
.../servicecomb/governance/GovernancePropertiesTest.java | 7 +++++++
governance/src/test/resources/application.yaml | 7 ++++++-
3 files changed, 23 insertions(+), 1 deletion(-)
diff --git a/governance/src/main/java/org/apache/servicecomb/governance/marker/Matcher.java b/governance/src/main/java/org/apache/servicecomb/governance/marker/Matcher.java
index 7b4a6c8..95184a4 100644
--- a/governance/src/main/java/org/apache/servicecomb/governance/marker/Matcher.java
+++ b/governance/src/main/java/org/apache/servicecomb/governance/marker/Matcher.java
@@ -22,6 +22,8 @@ import java.util.Map;
import org.apache.servicecomb.governance.marker.operator.RawOperator;
public class Matcher {
+ private String name;
+
private Map<String, RawOperator> headers;
private RawOperator apiPath;
@@ -51,4 +53,12 @@ public class Matcher {
public void setMethod(List<String> method) {
this.method = method;
}
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
}
diff --git a/governance/src/test/java/org/apache/servicecomb/governance/GovernancePropertiesTest.java b/governance/src/test/java/org/apache/servicecomb/governance/GovernancePropertiesTest.java
index 89842c9..212d9d1 100644
--- a/governance/src/test/java/org/apache/servicecomb/governance/GovernancePropertiesTest.java
+++ b/governance/src/test/java/org/apache/servicecomb/governance/GovernancePropertiesTest.java
@@ -121,6 +121,13 @@ public class GovernancePropertiesTest {
Assert.assertEquals(1, matchers.size());
Matcher matcher = matchers.get(0);
Assert.assertEquals("/hello", matcher.getApiPath().get("exact"));
+
+ TrafficMarker demoBulkhead = markers.get("demo-bulkhead");
+ matchers = demoBulkhead.getMatches();
+ Assert.assertEquals(2, matchers.size());
+ matcher = matchers.get(0);
+ Assert.assertEquals("/bulkhead", matcher.getApiPath().get("exact"));
+ Assert.assertEquals("matchPath", matcher.getName());
}
@Test
diff --git a/governance/src/test/resources/application.yaml b/governance/src/test/resources/application.yaml
index 5875e83..d68c1af 100644
--- a/governance/src/test/resources/application.yaml
+++ b/governance/src/test/resources/application.yaml
@@ -33,8 +33,13 @@ servicecomb:
exact: "/circuitBreaker"
demo-bulkhead: |
matches:
- - apiPath:
+ - name: matchPath
+ apiPath:
exact: "/bulkhead"
+ - name: matchHeader
+ headers:
+ x-token:
+ exact: token
demo-bulkhead-other: |
matches:
- apiPath: