X-Git-Url: https://gerrit.onap.org/r/gitweb?p=holmes%2Fengine-management.git;a=blobdiff_plain;f=engine-d%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fholmes%2Fengine%2Fmanager%2FDroolsEngine.java;h=78f267718926e4c3baa9a9ec1723e7d296ad05f8;hp=6808e98a7dc48967971e6c1d79138f6113189ae0;hb=dec7deafea340e0502a02da956cd98bf71e9cfd4;hpb=1c568079fd4e19220b32dee953fa10c43806294e diff --git a/engine-d/src/main/java/org/onap/holmes/engine/manager/DroolsEngine.java b/engine-d/src/main/java/org/onap/holmes/engine/manager/DroolsEngine.java index 6808e98..78f2677 100644 --- a/engine-d/src/main/java/org/onap/holmes/engine/manager/DroolsEngine.java +++ b/engine-d/src/main/java/org/onap/holmes/engine/manager/DroolsEngine.java @@ -33,6 +33,7 @@ import org.kie.api.runtime.rule.FactHandle; import org.onap.holmes.common.api.entity.AlarmInfo; import org.onap.holmes.common.api.entity.CorrelationRule; import org.onap.holmes.common.api.stat.VesAlarm; +import org.onap.holmes.common.config.MicroServiceConfig; import org.onap.holmes.common.dmaap.store.ClosedLoopControlNameCache; import org.onap.holmes.common.exception.AlarmInfoException; import org.onap.holmes.common.exception.CorrelationException; @@ -65,6 +66,7 @@ public class DroolsEngine { private ReleaseId compilationRelease = ks.newReleaseId("org.onap.holmes", "compilation", "1.0.0-SNAPSHOT"); private KieContainer container; private KieSession session; + private String instanceIp; @Inject public void setRuleMgtWrapper(RuleMgtWrapper ruleMgtWrapper) { @@ -100,6 +102,7 @@ public class DroolsEngine { log.error("Failed to startup the engine of Holmes: " + e.getMessage(), e); throw ExceptionUtil.buildExceptionResponse("Failed to startup Drools!"); } + instanceIp = MicroServiceConfig.getMicroServiceIpAndPort()[0]; } public void stop() { @@ -123,7 +126,11 @@ public class DroolsEngine { } private void initRules() throws CorrelationException { - List rules = ruleMgtWrapper.queryRuleByEnable(ENABLE); + List rules = ruleMgtWrapper.queryRuleByEnable(ENABLE) + .stream() + .filter(r -> r.getEngineInstance().equals(instanceIp)) + .collect(Collectors.toList()); + if (rules.isEmpty()) { return; }