mirror of
https://gitee.com/mirrors/Spring-Cloud-Alibaba.git
synced 2021-06-26 13:25:11 +08:00
Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
dbdbb8324b
@ -91,8 +91,8 @@ public class SentinelInvocationHandler implements InvocationHandler {
|
||||
if (target instanceof Target.HardCodedTarget) {
|
||||
Target.HardCodedTarget hardCodedTarget = (Target.HardCodedTarget) target;
|
||||
MethodMetadata methodMetadata = SentinelContractHolder.metadataMap
|
||||
.get(method.getDeclaringClass().getName()
|
||||
+ Feign.configKey(method.getDeclaringClass(), method));
|
||||
.get(hardCodedTarget.type().getName()
|
||||
+ Feign.configKey(hardCodedTarget.type(), method));
|
||||
// resource default is HttpMethod:protocol://url
|
||||
String resourceName = methodMetadata.template().method().toUpperCase() + ":"
|
||||
+ hardCodedTarget.url() + methodMetadata.template().path();
|
||||
|
@ -60,6 +60,9 @@ public class SentinelFeignTests {
|
||||
@Autowired
|
||||
private BarService barService;
|
||||
|
||||
@Autowired
|
||||
private BazService bazService;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
FlowRule rule1 = new FlowRule();
|
||||
@ -83,7 +86,14 @@ public class SentinelFeignTests {
|
||||
rule3.setLimitApp("default");
|
||||
rule3.setControlBehavior(RuleConstant.CONTROL_BEHAVIOR_DEFAULT);
|
||||
rule3.setStrategy(RuleConstant.STRATEGY_DIRECT);
|
||||
FlowRuleManager.loadRules(Arrays.asList(rule1, rule2, rule3));
|
||||
FlowRule rule4 = new FlowRule();
|
||||
rule4.setGrade(RuleConstant.FLOW_GRADE_QPS);
|
||||
rule4.setCount(0);
|
||||
rule4.setResource("GET:http://baz-service/baz");
|
||||
rule4.setLimitApp("default");
|
||||
rule4.setControlBehavior(RuleConstant.CONTROL_BEHAVIOR_DEFAULT);
|
||||
rule4.setStrategy(RuleConstant.STRATEGY_DIRECT);
|
||||
FlowRuleManager.loadRules(Arrays.asList(rule1, rule2, rule3,rule4));
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -101,6 +111,9 @@ public class SentinelFeignTests {
|
||||
assertThatExceptionOfType(Exception.class).isThrownBy(() -> {
|
||||
barService.bar();
|
||||
});
|
||||
assertThatExceptionOfType(Exception.class).isThrownBy(() -> {
|
||||
bazService.baz();
|
||||
});
|
||||
|
||||
assertNotEquals("ToString method invoke was not in SentinelInvocationHandler",
|
||||
echoService.toString(), fooService.toString());
|
||||
@ -146,6 +159,15 @@ public class SentinelFeignTests {
|
||||
String bar();
|
||||
}
|
||||
|
||||
public interface BazService {
|
||||
@RequestMapping(path = "baz")
|
||||
String baz();
|
||||
}
|
||||
|
||||
@FeignClient(value = "baz-service")
|
||||
public interface BazClient extends BazService {
|
||||
}
|
||||
|
||||
public static class EchoServiceFallback implements EchoService {
|
||||
|
||||
@Override
|
||||
|
Loading…
x
Reference in New Issue
Block a user