diff --git a/spring-cloud-alibaba-dependencies/pom.xml b/spring-cloud-alibaba-dependencies/pom.xml
index 758c0758..12644859 100644
--- a/spring-cloud-alibaba-dependencies/pom.xml
+++ b/spring-cloud-alibaba-dependencies/pom.xml
@@ -16,7 +16,7 @@
Spring Cloud Alibaba Dependencies
- 1.6.1
+ 1.6.2
3.1.0
0.5.1
1.0.1
diff --git a/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/TestController.java b/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/TestController.java
index d96ed802..3db79b08 100644
--- a/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/TestController.java
+++ b/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/TestController.java
@@ -23,6 +23,12 @@ public class TestController {
return "Hello";
}
+ @RequestMapping(value = "/aa", method = RequestMethod.GET)
+ @SentinelResource("aa")
+ public String aa(int b, int a) {
+ return "Hello test";
+ }
+
@RequestMapping(value = "/test", method = RequestMethod.GET)
public String test1() {
return "Hello test";
diff --git a/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/src/main/resources/flowrule.json b/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/src/main/resources/flowrule.json
index 8aacfc33..3637fb4f 100644
--- a/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/src/main/resources/flowrule.json
+++ b/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/src/main/resources/flowrule.json
@@ -1,6 +1,6 @@
[
{
- "resource": "resource",
+ "resource": "/hello",
"controlBehavior": 0,
"count": 1,
"grade": 1,
@@ -8,9 +8,9 @@
"strategy": 0
},
{
- "resource": "p",
+ "resource": "/test",
"controlBehavior": 0,
- "count": 1,
+ "count": 0,
"grade": 1,
"limitApp": "default",
"strategy": 0
diff --git a/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/src/main/resources/param-flow.json b/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/src/main/resources/param-flow.json
index 72e1c2dc..b21fea86 100644
--- a/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/src/main/resources/param-flow.json
+++ b/spring-cloud-alibaba-examples/sentinel-example/sentinel-core-example/src/main/resources/param-flow.json
@@ -1,6 +1,6 @@
[
{
- "resource": "hotResource",
+ "resource": "aa",
"count": 0,
"grade": 1,
"limitApp": "default",
diff --git a/spring-cloud-alibaba-sentinel-datasource/src/main/java/org/springframework/cloud/alibaba/sentinel/datasource/RuleType.java b/spring-cloud-alibaba-sentinel-datasource/src/main/java/org/springframework/cloud/alibaba/sentinel/datasource/RuleType.java
index a5004d83..6447adf4 100644
--- a/spring-cloud-alibaba-sentinel-datasource/src/main/java/org/springframework/cloud/alibaba/sentinel/datasource/RuleType.java
+++ b/spring-cloud-alibaba-sentinel-datasource/src/main/java/org/springframework/cloud/alibaba/sentinel/datasource/RuleType.java
@@ -19,8 +19,6 @@ package org.springframework.cloud.alibaba.sentinel.datasource;
import org.springframework.cloud.alibaba.sentinel.datasource.config.AbstractDataSourceProperties;
import org.springframework.util.StringUtils;
-import com.alibaba.csp.sentinel.adapter.gateway.common.api.ApiDefinition;
-import com.alibaba.csp.sentinel.adapter.gateway.common.rule.GatewayFlowRule;
import com.alibaba.csp.sentinel.slots.block.AbstractRule;
import com.alibaba.csp.sentinel.slots.block.authority.AuthorityRule;
import com.alibaba.csp.sentinel.slots.block.degrade.DegradeRule;
@@ -59,11 +57,13 @@ public enum RuleType {
/**
* gateway flow
*/
- GW_FLOW("gw-flow", GatewayFlowRule.class),
+ GW_FLOW("gw-flow",
+ "com.alibaba.csp.sentinel.adapter.gateway.common.rule.GatewayFlowRule"),
/**
* api
*/
- GW_API_GROUP("gw-api-group", ApiDefinition.class);
+ GW_API_GROUP("gw-api-group",
+ "com.alibaba.csp.sentinel.adapter.gateway.common.api.ApiDefinition");
/**
* alias for {@link AbstractRule}
@@ -73,19 +73,39 @@ public enum RuleType {
/**
* concrete {@link AbstractRule} class
*/
- private final Class clazz;
+ private Class clazz;
+
+ /**
+ * concrete {@link AbstractRule} class name
+ */
+ private String clazzName;
RuleType(String name, Class clazz) {
this.name = name;
this.clazz = clazz;
}
+ RuleType(String name, String clazzName) {
+ this.name = name;
+ this.clazzName = clazzName;
+ }
+
public String getName() {
return name;
}
public Class getClazz() {
- return clazz;
+ if (clazz != null) {
+ return clazz;
+ }
+ else {
+ try {
+ return Class.forName(clazzName);
+ }
+ catch (ClassNotFoundException e) {
+ throw new RuntimeException(e);
+ }
+ }
}
public static RuleType getByName(String name) {
diff --git a/spring-cloud-alibaba-sentinel-datasource/src/main/java/org/springframework/cloud/alibaba/sentinel/datasource/converter/SentinelConverter.java b/spring-cloud-alibaba-sentinel-datasource/src/main/java/org/springframework/cloud/alibaba/sentinel/datasource/converter/SentinelConverter.java
index 2f7ad975..586cd1ad 100644
--- a/spring-cloud-alibaba-sentinel-datasource/src/main/java/org/springframework/cloud/alibaba/sentinel/datasource/converter/SentinelConverter.java
+++ b/spring-cloud-alibaba-sentinel-datasource/src/main/java/org/springframework/cloud/alibaba/sentinel/datasource/converter/SentinelConverter.java
@@ -27,8 +27,6 @@ import org.slf4j.LoggerFactory;
import org.springframework.cloud.alibaba.sentinel.datasource.RuleType;
import org.springframework.util.StringUtils;
-import com.alibaba.csp.sentinel.adapter.gateway.common.api.ApiDefinition;
-import com.alibaba.csp.sentinel.adapter.gateway.common.rule.GatewayFlowRule;
import com.alibaba.csp.sentinel.datasource.Converter;
import com.alibaba.csp.sentinel.slots.block.authority.AuthorityRule;
import com.alibaba.csp.sentinel.slots.block.degrade.DegradeRule;
@@ -72,11 +70,13 @@ public abstract class SentinelConverter
Collection