Преглед изворни кода

推送规则日志到消息网关

zhou-hao пре 5 година
родитељ
комит
c0f4518592

+ 9 - 0
jetlinks-components/rule-engine-component/src/main/java/org/jetlinks/community/rule/engine/event/handler/RuleLogHandler.java

@@ -3,6 +3,7 @@ package org.jetlinks.community.rule.engine.event.handler;
 import lombok.extern.slf4j.Slf4j;
 import org.hswebframework.web.bean.FastBeanCopier;
 import org.jetlinks.community.elastic.search.service.ElasticSearchService;
+import org.jetlinks.community.gateway.MessageGateway;
 import org.jetlinks.community.rule.engine.entity.RuleEngineExecuteEventInfo;
 import org.jetlinks.community.rule.engine.entity.RuleEngineExecuteLogInfo;
 import org.jetlinks.rule.engine.api.events.NodeExecuteEvent;
@@ -21,12 +22,17 @@ public class RuleLogHandler {
     @Autowired
     private ElasticSearchService elasticSearchService;
 
+    @Autowired
+    private MessageGateway messageGateway;
 
     @EventListener
     public void handleRuleLog(LogInfo event) {
         RuleEngineExecuteLogInfo logInfo = FastBeanCopier.copy(event, new RuleEngineExecuteLogInfo());
         elasticSearchService.commit(RuleEngineLoggerIndexProvider.RULE_LOG, logInfo)
             .subscribe();
+        messageGateway
+            .publish(String.join("/", "/rule-engine", event.getInstanceId(), "log"), logInfo, true)
+            .subscribe();
     }
 
     @EventListener
@@ -38,6 +44,9 @@ public class RuleLogHandler {
             elasticSearchService.commit(RuleEngineLoggerIndexProvider.RULE_EVENT_LOG, eventInfo)
                 .subscribe();
         }
+        messageGateway
+            .publish(String.join("/", "/rule-engine", event.getInstanceId(), "event", event.getEvent().toLowerCase()), event, true)
+            .subscribe();
     }
 
 }