Skip to content

Commit 1440805

Browse files
committed
优化handle rule推送的bug
1 parent 928dbf3 commit 1440805

File tree

3 files changed

+20
-0
lines changed

3 files changed

+20
-0
lines changed

spring-cloud-gray-client/src/main/java/cn/springcloud/gray/event/listener/HandleRuleEventlistener.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,17 @@
11
package cn.springcloud.gray.event.listener;
22

3+
import cn.springcloud.gray.GrayClientHolder;
34
import cn.springcloud.gray.handle.HandleRuleManager;
5+
import cn.springcloud.gray.local.InstanceLocalInfo;
46
import cn.springlcoud.gray.event.HandleRuleEvent;
7+
import lombok.extern.slf4j.Slf4j;
8+
import org.apache.commons.lang3.StringUtils;
59

610
/**
711
* @author saleson
812
* @date 2020-05-31 16:41
913
*/
14+
@Slf4j
1015
public class HandleRuleEventlistener extends AbstractGrayEventListener<HandleRuleEvent> {
1116

1217
private HandleRuleManager handleRuleManager;
@@ -17,6 +22,16 @@ public HandleRuleEventlistener(HandleRuleManager handleRuleManager) {
1722

1823
@Override
1924
protected void onUpdate(HandleRuleEvent event) {
25+
InstanceLocalInfo instanceLocalInfo = GrayClientHolder.getInstanceLocalInfo();
26+
if (!StringUtils.equals(instanceLocalInfo.getServiceId(), event.getModuleId())) {
27+
log.info("HandleRuleEvent.moduleId!=instanceLocalInfo.serviceId, HandleRuleEvent - 6 : {}", event);
28+
return;
29+
}
30+
if (!StringUtils.equals(instanceLocalInfo.getServiceId(), event.getResource()) &&
31+
!StringUtils.equals(instanceLocalInfo.getInstanceId(), event.getResource())) {
32+
log.info("HandleRuleEvent.resource ont in [instanceLocalInfo.serviceId, instanceLocalInfo.instanceId], HandleRuleEvent - 6 : {}", event);
33+
return;
34+
}
2035
handleRuleManager.putHandleRuleDefinition(event.getHandleRuleDefinition());
2136
}
2237

spring-cloud-gray-event/src/main/java/cn/springlcoud/gray/event/HandleRuleEvent.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,11 @@
1010
@Data
1111
public class HandleRuleEvent extends GrayEvent {
1212

13+
private static final long serialVersionUID = -5723492249160514681L;
1314
private HandleRuleDefinition handleRuleDefinition;
1415

16+
private String moduleId;
17+
private String resource;
1518

1619
@Override
1720
public String getSourceId() {

spring-cloud-gray-server/src/main/java/cn/springcloud/gray/server/event/triggering/converter/HandleRuleEventConverter.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ protected HandleRuleEvent convertModifyData(HandleRule handleRule) {
3131

3232
private HandleRuleEvent toEvent(TriggerType triggerType, HandleRule handleRule) {
3333
HandleRuleEvent event = new HandleRuleEvent();
34+
event.setModuleId(handleRule.getModuleId());
35+
event.setResource(handleRule.getResource());
3436
HandleRuleDefinition definition = grayModule.toHandleRuleDefinition(handleRule);
3537
event.setHandleRuleDefinition(definition);
3638
event.setTriggerType(triggerType);

0 commit comments

Comments
 (0)